如何让 systemd 在重启期间最后杀死 sshd?

如何让 systemd 在重启期间最后杀死 sshd?

在 systemd 机器上(例如 Debian),每当我发出重启命令时,最先被杀死的东西之一就是sshd。在 sysvinit 时代,情况并非如此,那时我仍然可以通过 SSH 观察重启过程中出现的问题,有时还可以修复。

我可以接受 sshdTERM根本不会发送信号,或者理想情况下作为最后的进程之一,即使在网络关闭后也是如此。有没有办法用 systemd 实现这一点?

我还对如何将其sshd作为首批服务之一开始使用感兴趣,但这并不是首要任务。

答案1

您将在 2 秒内观察和完成什么?这是我观察到的整个关机过程所需的时间:从终止服务、ifdown 接口、卸载文件系统到 TERM 所有进程。我使用 Google Cloud 上的 Debian Stretch 进行了测试,构建于 20190326。

停止服务会取出它们的片段,并且是并行完成的。它们的进程树(包括您的会话)会迅速终止。我不知道在您的会话结束之前会输出任何有用信息的配置。

您可以通过 journald 记录事件Storage=persistent,或者使用 systemd-journal-remote 发送到远程系统。可以使用 检索上次启动的日志journalctl -b -1。使用 ssh 或控制台返回重新启动的系统,或查看远程日志。

相关内容