问题描述
我有一个家庭服务器正在玩:)我想学习服务器管理…
我现在很难理解shutdown -h now
和poweroff -h
之间的区别。我的逻辑告诉我这是同一回事…
但是关闭后,Linux停止运行,并且电源保持打开状态-我可以看到所有指示灯都亮了,冷却器在旋转。奇怪的是,完全关闭我的盒子的唯一方法是使用poweroff -h
任何澄清将不胜感激。
最佳回答
答案在poweroff(8) man page中:
When called with –force or when in runlevel 0 or 6, this tool invokes the reboot(2) system call itself and directly reboots the system. Otherwise this simply invokes the shutdown(8) tool with the appropriate arguments.
一点解释:
-
reboot() system call是用于重新引导,停止或关闭计算机电源的内核功能。由于历史原因,它被称为
reboot
,但是根据传递给它的参数执行所有三个功能。 -
halt
和poweroff
之间的区别在于,在halt
模式下,控制权返回到”ROM monitor”(认为是BIOS),而poweroff
只是关闭了系统板的电源。 (我从未见过这种区别对PC体系结构的影响;但是,在Sun机器上却有所不同。) -
因此,当Linux系统处于runlevel 0或6时调用
poweroff
程序时,它将立即通过reboot(RB_POWEROFF)
系统调用关闭系统电源。 -
在任何其他情况下,
poweroff
都将充当shutdown now
的别名。