在服务器关闭时尽可能长时间保持 ssh 运行

Ale*_*kin 6 remote-access ssh

我有带付费 kvm 的远程 linux 服务器和非常慢的“按需重启”服务。现在,当我使用 'sudo reboot' 重新启动服务器时,ssh 会在 3-5 秒内断开我的连接,但是服务器有时会继续运行,我猜是在等待一些 rc.d 脚本关闭。网络仍然配置,所以我什至可以 ping 服务器,但无法建立 ssh 连接,因此,显然 sshd 已关闭。我什至无法深入内部检测,关闭期间发生了什么。那么,问题来了:如何防止sshd在系统关机时停止?我希望 sshd 一直运行到整个系统关机。

vor*_*aq7 5

你没有。

您的操作系统需要在关闭之前停止所有进程。这包括终止您的 SSH 连接。
网络处于“活动状态”是内核尚未停止/重新启动的产物 - IP/ICMP 堆栈正在响应您的 ping。Userland 可能完全消失,内核将继续回答 ping。


可以重新排序关闭脚本,以便sshd在稍后的过程中被杀死(查看您的发行版的文档),但这只会使 SSH 守护进程运行更长时间 - 它不会保存您的会话,该会话作为独立进程被终止(这就是为什么您可以在仍处于登录状态时停止/启动 sshd - 活动连接不再是“守护进程的一部分”)。
如果您的系统运行正常,一旦它开始关闭过程,它将不允许登录,并且在会话终止后您将无法登录。