返回介绍

systemd-halt.service 中文手册

发布于 2020-11-08 09:27:17 字数 1973 浏览 1105 评论 0 收藏 0

名称

systemd-halt.service, systemd-poweroff.service, systemd-reboot.service, systemd-kexec.service, systemd-shutdown — 系统关闭逻辑

大纲

systemd-halt.service

systemd-poweroff.service

systemd-reboot.service

systemd-kexec.service

/usr/lib/systemd/systemd-shutdown

/usr/lib/systemd/system-shutdown/

描述

systemd-halt.service 是一个包含在 halt.target 中的系统服务,负责执行实际的关机动作。类似的,systemd-poweroff.service 包含在poweroff.target 中、systemd-reboot.service 包含在reboot.target 中、systemd-kexec.service 包含在kexec.target 中,分别负责执行对应的实际操作。

这些服务在运行时会确保 PID=1 的进程已经被负责实际关机动作的/usr/lib/systemd/systemd-shutdown 工具所替换。在关机前,此工具将会卸载所有文件系统、卸载交换设备、卸载所有存储设备、杀死所有进程。

将关机动作交给一个单独的二进制程序是必要的,否则系统更新之后的重启动作可能会失败,因为运行中的 PID=1 进程可能仍然依赖于已经消失的库文件,这将会导致文件系统处于忙碌状态,从而无法重新挂载为只读模式。

在实际执行 halt/poweroff/reboot/kexec 动作之前,systemd-shutdown将会运行/usr/lib/systemd/system-shutdown/ 目录中的所有可执行文件,并根据所要执行的动作,向这些可执行文件传递 "halt","poweroff", "reboot","kexec" 参数。目录中的所有可执行文件都以并行的方式被同时调用,并仅在所有这些可执行文件退出之后,systemd-shutdown 才会真正实际执行 halt/poweroff/reboot/kexec 动作。

注意,千万不要直接执行 systemd-halt.service 及其相关单元。而是应该使用例如"systemctl halt"这样的命令来关机。

参见

systemd(1),systemctl(1),systemd.special(7),reboot(2),systemd-suspend.service(8),bootup(7)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文