对于命令的两个选项之间的区别,我还没有找到明确的答案shutdown
。
是halt
一样的shutdown -H
,并poweroff
同shutdown -P
?
对于命令的两个选项之间的区别,我还没有找到明确的答案shutdown
。
是halt
一样的shutdown -H
,并poweroff
同shutdown -P
?
Answers:
这有点历史。
halt
在ACPI之前使用(今天将为您关闭电源)*。它将停止系统,然后打印一条消息,提示“现在可以关闭电源”。那时有物理开/关开关,而不是现代计算机的组合ACPI控制的电源按钮。
poweroff
,自然会暂停系统,然后关闭ACPI电源。
*这些天halt
足够聪明,poweroff
如果启用了ACPI,则可以自动呼叫。实际上,它们现在在功能上是等效的。
/sbin/poweroff
是的符号链接/sbin/halt
。
shutdown
。命令halt
是否与shutdown -H
和命令poweroff
相同shutdown -P
?@phunehehe也是。
halt
过去只是这样做。没有有序的关机,只需停止机器就此进行的操作。经常发出sync;sync;sync;halt
确保所有缓冲区都已写出到磁盘的问题。
它们不是同一件事,只是密切相关。实际上,除非您要指定特定的关闭时间或强制立即执行不干净的重启/停止/关闭电源,否则运行shutdown -h
还是halt
...或shutdown -r
vs 都没有关系reboot
。过去,事情并没有那么方便,但这就是现在的工作方式(消除了很多歧义或用户错误的机会)。
/sbin/shutdown
会进行很多“清理”工作,例如通知用户,在系统关闭时阻止新的登录。还可以告诉它在特定时间或XX分钟内关闭系统-经常警告即将登录的用户即将关闭。
它还将运行级别更改为0
(halt
/ poweroff
)或6
(reboot
),从而触发系统停止正在运行的服务,卸载磁盘等,以准备实际的停止,关机或重新引导。
完成所有操作后,它将调用/sbin/halt
,/sbin/reboot
或/sbin/poweroff
(reboot
并且poweroff
通常是的符号链接halt
,分别将它们解释为halt -r
和halt -P
。
但是请注意,如果halt
/ reboot
/ poweroff
当系统没有在runlevel被称为0
还是6
那么他们会打电话shutdown
来完成其工作,除非-f
或force
选项被使用。
(如何运行级别被解释可以从发行到发行变化,但细节0
和6
如这里所描述的Debian和Debian的衍生物如Ubuntu的使用)。
请参阅手册页shutdown
和halt
获取更多信息。
最后,状态halt
与poweroff
状态之间的区别在于,它可以halt
完成所有的工作,直到真正关闭机器电源(在某些硬件上,这意味着它会落入ROM引导加载程序或类似程序中。在大多数PC硬件上,它只会停止),同时poweroff
完成最后一步并关闭。 reboot
,当然会进入暂停状态,然后重新启动计算机。
顺便说一句,默认值通常是poweroff
或reboot
,但是您可以使用-H
参数shutdown
来使其暂停。这在基于PC的linux机器上不是很有用(但是在具有固件启动监视器的机器(如sparc机器)上很有用。它可能会在具有EFI命令行的较新机器上变得有用)。
shutdown
命令都具有运行级别的概念。 shutdown
大多不调用halt
/ reboot
/ poweroff
; 具有讽刺意味的是,在一些非Linux系统上,这种接受的智慧至今仍然存在。并且符号链接指向的地方不一定halt
; 不仅如此,在某些工具集中它们根本不是符号链接。有关更多详细信息,请参见unix.stackexchange.com/a/196471/5132。