TomL hat geschrieben:ich würde nicht davon ausgehen, dass das beim Shutdown anders abläuft.
Dazu habe ich jetzt mal einen einfachen Test durchgeführt:
1. auf einem Server läuft ein sshd
2. ich logge mich von einem Client auf dem Server ein
3. auf der Konsole des Servers führe ich
systemctl stop ssh aus
Witizigerweise läuft die Verbindung auf dem Client weiter. Die Erklärung dafür ist recht trivial. Systemd startet einen Parent-sshd-Prozeß. Bei einem SSH-Login von aussen forkt der Parent-sshd einen Child-sshd-Prozeß. Der Befehl in Punkt 3 stoppt nun nur Parentprozeß, die Loginshell bleibt bestehen.
Bei einem Shutdown wird systemd wohl den Parent-sshd mit SIGTERM beenden, die Childprozesse leben aber weiter, wahrscheinlich sogar über den Zeitpunkt hinaus, wo die Netzwerkschnittstelle(n) abgehängt werden. Das Resultat ist, daß die remote Loginshell hängt.
Da die Child-Prozesse nicht von systemd verwaltet werden, geht systemd eben davon aus, daß alles in der rückwärtigen Reihenfolge gestoppt werden kann. Alles, was danach noch lebt (z.B. der Child-sshd), wird irgendwie gekillt. Aber zu dem Zeitpunkt ist es sowieso schon zu spät, der remote Login hängt bereits.