Geben Sie in einer Linux-SSH-Shell Folgendes ein /etc/init.d/network restart
, um den Netzwerkdienst neu zu starten.
Ich erwarte, dass meine SSH-Verbindung unterbrochen wird, da der Netzwerkdienst ausfällt. Aber das tut es nicht. Sehr cool. Aber wie schafft Linux das? Wie bleibt meine SSH-Verbindung während des Neustarts des Dienstes am Leben?
quelle
SSHD gibt bei der Verbindung einen untergeordneten Prozess aus. Dieser untergeordnete Prozess stirbt nicht, wenn entweder SSHD oder das gesamte Netzwerk neu gestartet wird. Dies ist der Grund, warum Sie ssh und / oder seine Konfiguration aktualisieren können, eine
service sshd restart
Verbindung zu Ihrer alten ssh-Sitzung mit den alten Einstellungen herstellen und diese beibehalten können. Abgesehen davon erholt sich ssh gut von kleinen Netzwerkausfällen.quelle
sshd
tun ist, um ein Absinken zu vermeidenservice sshd restart
. Wenn Sie aktualisierensshd
(Sicherheitsupdate usw.), werden die untergeordneten Prozesse weiterhin mit dem ursprünglichen Code ausgeführt (Vorupdate), bieten jedoch weiterhin Dienste an, anstatt unterbrochen zu werden. Ich vermute, die Verfügbarkeit des Listening-Sockets für den Hauptprozesssshd
wird jedoch sehr kurz unterbrochen, wenn der erste untergeordnete Prozess endet und die Netzwerkschnittstelle den Port vorübergehend als geschlossen anzeigt.