在 Linux 系统中,init 0
命令确实已经过时,但仍在许多系统中作为向后兼容的选项保留。以下是详细分析:
init 0
是传统的 SysV Init 系统的关机命令,现代 Linux 发行版大多已转向 systemd(通过 systemctl
命令管理)。init
的局限性:init
只是 systemd 的兼容性符号链接,实际行为可能因系统配置而异,不如直接使用 systemctl
可靠。sudo systemctl poweroff # 正常关机(推荐)
sudo systemctl reboot # 重启
sudo systemctl halt # 停止系统(不切断电源)
sudo shutdown -h now # 立即关机(传统命令,仍有效)
sudo poweroff # 直接关机(调用 systemctl)
sudo init 0 # 仍可用,但本质转发到 systemd
命令 | 适用系统 | 实际行为(现代系统) |
---|---|---|
init 0 |
SysV Init | 转发给 systemd 处理 |
systemctl poweroff |
systemd | 完整关机流程(包括通知服务停止) |
poweroff |
通用 | 通常作为 systemctl 的快捷方式 |
init 0
?init
命令,但实际由 systemd 处理。systemctl
:确保行为一致且可追踪日志。init
:未来版本可能移除该兼容层。init 0
已过时,但在大多数系统中仍作为兼容命令存在。对于新系统,请始终使用 systemctl poweroff
。