@
SingeeKing 并不是抖机灵,理论上 halt 是停止用户进程关闭 cpu,风扇继续转,显示器发光发热。而 poweroff 是断电。而 shutdown 这个命令在 reboot,halt,poweroff 的基础之上,添加了 wall message(让连接的用户准备洗洗睡,系统要自杀了)和一些其他功能。然而实际上难以一言概之
首先,断电是伪概念,电脑不可能关闭自己,电脑实际上是让电源模组切断其他元件供电,不过插着插头光电源线就有负载,wakeonlan 也耗电,电源跳线也耗电。这些个东西都在机箱里头算不算电脑的耗电量呢?除非遥控机器人把自己插座拔了,但是这样机器人的电源谁来关呢?或者是去电系统,内燃机发条之类的拔插头。
其次,关闭 cpu 停止进程这一功能并不是所有电源模组都支持的。有可能电源模组在设计之初就没有考虑过实现 halt 和 poweroff 这两个不同的功能。cpu 供电虽然是独立的,但是设计出自由断通的功能并不是必须的。
第三,主板芯片上规范也不同。LinuxAPM 模块的前提是 bios 支持,还不支持待机休眠。ACPI 同理。
最后,操作系统层级上,发行版的定义也有所不同:Many people use poweroff or reboot as aliases to the shutdown command since they can type less. Technically they are aliases to the halt command which sees that you're not at run level 0 or 6 and calls shutdown anyway.
https://wiki.debian.org/OffAndOnAgain 这是 debian 的解释。
有人试过 halt 之后笔记本还在上电状态,可以算是 halt 在 2012 依旧存在的证据吧
https://bbs.archlinux.org/viewtopic.php?id=153802。可能世上真的有人想只把 cpu 关了把电脑当电风扇吹的人吧…………说实话,关心电脑开不了机这件事比关心电脑关不了机要正常多了。