systemd 关闭文档位于https://man7.org/linux/man-pages/man8/shutdown.8.html说-h
与 结合时含义会发生变化--halt
,但没有详细说明,那么-h
与 结合时是什么意思?和--halt
有什么区别? 引用shutdown --halt
shutdown --halt -h
-h Equivalent to --poweroff, **unless --halt is specified.** -H, --halt Halt the machine. -P, --poweroff Power-off the machine (the default).
编辑:我抱怨过 systemd bugtracker 缺乏文档:https://github.com/systemd/systemd/issues/23401
答案1
“Halt” 是最初的操作;它会停止操作系统,但不会关闭电源,因为当时大多数计算机甚至没有软关机功能。然而,在 PC 中增加了这种功能后,在大多数 sysvinit 配置中,“halt” 等同于“poweroff”,即运行halt
或shutdown -h
实际上会关闭整个系统。
使用 systemd 后,这两个操作再次分开,因此使用halt
可以执行大部分关机过程,但机器开机,尽管完全没有响应(只是停留在“ System halted.
”内核消息上)。要执行正常关机,您需要使用poweroff
命令。
但要保留一些与可能被硬编码运行shutdown -h
以关闭机器的程序(或手指)的兼容性,当使用该选项时,systemd 版本的“shutdown”实际上会PowerOff()
向 systemd 发送一个调用,而不是一个Halt()
调用。-h
tl;dr:shutdown -h
将要求 systemd“关闭”,不是“停止”,但shutdown -h --halt
实际上会要求它“停止”系统而不关闭电源。