在Linux系统中,关机可以通过多种命令实现,具体取决于你的需求(如立即关机、定时关机、安全关机等)以及使用的系统管理工具(如systemd或SysVinit)。以下是常用的关机方法:
1. 使用 shutdown 命令(推荐)
shutdown 是最安全、最常用的关机方式,它会通知所有登录用户并允许正在运行的进程正常退出。
立即关机
bash
sudo shutdown -h now
-h表示关机(halt)。now表示立即执行。
定时关机
bash
sudo shutdown -h +10 # 10分钟后关机
sudo shutdown -h 20:30 # 指定时间关机(如20:30)
-
取消定时关机:
bashsudo shutdown -c
关机并重启
bash
sudo shutdown -r now # 立即重启
sudo shutdown -r +5 # 5分钟后重启
-r表示重启(reboot)。
2. 使用 poweroff 命令
直接关闭系统电源(相当于 shutdown -h now):
bash
sudo poweroff
3. 使用 halt 命令
停止所有进程并关闭系统(但不一定切断电源,取决于硬件):
bash
sudo halt
-
通常与
-p参数一起使用以切断电源:bashsudo halt -p
4. 使用 reboot 命令
立即重启系统:
bash
sudo reboot
5. 使用 systemctl(适用于 systemd 系统)
现代Linux发行版(如Ubuntu 16.04+、CentOS 7+)使用 systemd,可以通过以下命令关机:
bash
sudo systemctl poweroff # 关机
sudo systemctl reboot # 重启
sudo systemctl halt # 停止系统(不切断电源)
6. 直接调用硬件指令(不推荐)
仅在紧急情况下使用(可能损坏数据):
bash
echo o > /proc/sysrq-trigger # 立即关机(需内核支持)
或通过魔法键组合:
bash
Alt + SysRq + B # 强制重启(需内核支持)
注意事项
- 权限要求 :所有关机命令需要
root权限,通常需加sudo。 - 数据安全 :优先使用
shutdown或systemctl poweroff,确保进程正常退出。 - 远程连接 :如果通过SSH关机,确保命令执行后不会断开连接(可先启动终端复用工具如
tmux或screen)。 - 无响应系统 :若系统卡死,可尝试
Alt + SysRq + B强制重启(需内核支持)。
示例场景
-
计划关机:
bashsudo shutdown -h +30 "系统将在30分钟后关机,请保存工作!"所有用户会收到通知消息。
-
取消关机:
bashsudo shutdown -c
根据需求选择合适的方法即可!