停止与“shutdown -H”相同,poweroff 与“shutdown -P”相同吗?

停止与“shutdown -H”相同,poweroff 与“shutdown -P”相同吗?

我还没有找到该命令的两个选项之间差异的明确答案shutdown

halt与 相同 与shutdown -Hpoweroff相同吗shutdown -P

答案1

这有点历史了。

halt在 ACPI 之前使用(今天将为您关闭电源)*。它会停止系统,然后打印一条消息,大意是“现在可以关闭电源了”。当时有物理开关,而不是现代计算机的组合 ACPI 控制电源按钮。

poweroff,自然会停止系统,然后调用 ACPI power off。

* 现在halt已经足够智能,poweroff如果启用了 ACPI,就会自动调用。事实上,它们现在在功能上是等效的。

答案2

它们不是同一件事,只是非常密切相关。在实践中,除非您想指定关闭的特定时间或强制立即不干净的重新启动/停止/断电,否则无论您运行shutdown -h还是halt...或shutdown -rvs 都并不重要reboot。过去事情并不是那么方便,但这就是现在的工作方式(许多歧义或用户错误的机会已被删除/消除)。

/sbin/shutdown做很多“清理”工作,例如通知用户,在系统关闭时阻止新的登录。它还可以被告知在某个时间或 XX 分钟内关闭系统 - 经常警告登录用户即将关闭。

它还将运行级别更改为0( halt/ poweroff) 或6( reboot),这会触发系统停止正在运行的服务、卸载磁盘等,为实际的停止、断电或重新启动做好准备。

当所有这些完成后,它会调用/sbin/halt/sbin/reboot/sbin/poweroffrebootpoweroff通常是 的符号链接halt,将它们分别解释为halt -rhalt -P)。

但请注意,如果halt//rebootpoweroff系统不在运行级别时被调用06那么它们将调用shutdown来完成其工作,除非使用-f或选项。force

(如何解释运行级别的详细信息可能因发行版而异,但0和 的6使用方式如 Debian 和 Debian 衍生品(如 Ubuntu)中所述)。

shutdown请参阅和的手册页以halt获取更多信息。

halt最后,状态和状态之间的区别poweroff在于,halt执行所有操作直至实际关闭机器电源(在某些类型的硬件上,这意味着它会进入 ROM 引导加载程序或类似的程序。在大多数 PC 硬件上,它只是停止),同时poweroff完成最后一步和关闭。 reboot当然,会进入暂停状态,然后重新启动计算机。

顺便说一句,默认值通常是poweroffreboot,但您可以使用 来-H作为参数来shutdown使其停止。这在基于 PC 的 Linux 机器上不是很有用(但在具有固件启动监视器的机器上很有用,例如 sparc 机器。它可能在具有 EFI 命令行的较新机器上变得有用)。

相关内容