Aus meinen Tests unter Linux scheint es so zu sein
service sshd reload
sshd
bereits läuft sshd
, wenn die Datei sshd_config
Probleme hat service sshd restart
sshd
bereits ausgeführt wird sshd
, wenn die sshd_config
-Datei eine ungültige Syntax oder andere Probleme aufweist sshd_config
-Datei Probleme hat Ich verstehe, dass sie verschiedene Operationen ausführen, aber es scheint mir ein Klacks, dass ich immer service sshd restart
benutzen sollte. Gibt es Gründe, warum service sshd reload
in manchen Situationen vorzuziehen ist?
Wenn Sie den Befehl service sshd ausführen, in dem opt neu geladen / neu gestartet werden kann, wird ein Programm mit einer geänderten Umgebung wie folgt ausgeführt:
%Vor%z.B.:
%Vor%Der Befehl sshd macht in beiden Fällen (Neustart / Neuladen) fast dasselbe:
reload : Versucht, den Prozess zu beenden, der ein HUP-Signal sendet, und wie Sie auf dem Snipet sehen können, benötigt es die PID des Prozesses, um es zu tun. (Funktioniert unabhängig davon, ob sshd bereits ausgeführt wird)
%Vor%neustart : Es würde genauso funktionieren, als ob Sie einen stop- & gt; start ausführen würden.
%Vor% Einige Apps, einschließlich mehrerer Webserver, unterstützen das Neuladen ihrer Konfiguration ohne Neustart. In diesem Fall wäre reload
der beste Weg, dies zu signalisieren.
Als Anwendungsfall wäre es großartig, wenn sshd
tatsächlich das erneute Laden der Konfiguration unterstützt, ohne bestehende Verbindungen zu beeinträchtigen. Das würde es ermöglichen, die neue Konfiguration zu überprüfen, ohne die aktuelle ssh-Verbindung zu verlieren (z. B. beim Ändern von Berechtigungen, um sicherzustellen, dass Sie sich weiterhin anmelden können).
Weiterführende Literatur: Liste aller Aktionen systemd
unit
Nur um zu erwähnen: wie in den obigen Beispielen werden Leute sshd benutzt, das ist der Daemon, der Dienst ist ssh. Die richtige Zeile sollte sein:
%Vor%Ich denke, das "reload" könnte in einem Shell-Skript für Multi-Dienste verwendet werden, um den ursprünglichen Status wiederherzustellen, in diesem Fall wussten wir nicht, ob ein Dienst läuft oder nicht, also lassen wir alle diese Dienste "neu laden" ".
Wenn wir in diesem Fall "Neustart" verwenden, werden einige der Dienste, die wir nicht verwendet haben, gestartet.
Normalerweise wollen wir diesen Dienst wie "sshd" zum Debuggen von Problemen (oder Änderungen) für einen einzelnen Dienst starten, "Neustart" sollte besser sein, da wir nicht überprüfen müssen, ob dieser Dienst erfolgreich ausgeführt wird oder nicht.
>Tags und Links linux ssh operating-system sshd