Linux shutdown 命令详解:用于 关闭(关机)、重启或进入单用户模式,适用于 Linux 和 Unix 系统
Linux shutdown
命令详解
一、命令简介
shutdown
命令用于 关闭(关机)、重启或进入单用户模式,适用于 Linux 和 Unix 系统。它可以指定 定时关机,或者 立即关机,并允许向在线用户发送警告信息。
相比 halt
和 poweroff
,shutdown
更加安全,因为它会优雅地终止进程,同步磁盘数据,确保系统安全关闭。
二、命令语法
shutdown [选项] [时间] [警告消息]
三、命令选项
选项 | 作用 |
---|---|
-h | 关闭系统(默认行为)。 |
-r | 关闭后重启系统。 |
-c | 取消已安排的 shutdown 计划。 |
-P | 关机并断电(等同于 poweroff )。 |
-H | 关机但不切断电源(等同于 halt )。 |
-k | 仅发送警告信息,不实际执行关机。 |
now | 立即执行 shutdown 操作。 |
+m | 指定多少分钟后关机(如 +10 表示 10 分钟后关机)。 |
hh:mm | 指定具体时间关机(如 23:00 表示晚上 11 点关机)。 |
四、常见用法
1. 立即关机
shutdown -h now
立即关闭系统,并断开电源。
2. 定时关机(30 分钟后)
shutdown -h +30 "系统将在 30 分钟后关闭,请保存您的工作。"
系统将在 30 分钟后 关闭,并向所有在线用户发送警告信息。
3. 在指定时间关机(晚上 11 点)
shutdown -h 23:00 "服务器将在晚上 11 点进行维护,请及时保存数据。"
会在 23:00 关机,并通知所有用户。
4. 取消已安排的关机
shutdown -c
如果已计划 shutdown
,可以使用此命令取消。
5. 立即重启
shutdown -r now
立即重启系统。
6. 定时重启(1 小时后)
shutdown -r +60 "系统将在 1 小时后重启,请保存您的工作。"
系统将在 60 分钟后 重新启动,并通知用户。
7. 仅发送警告,不关机
shutdown -k +15 "测试系统将在 15 分钟后关机(仅警告,不实际关机)。"
系统不会真正关机,但所有在线用户会收到警告消息。
8. 进入单用户模式
shutdown now
系统进入 单用户模式,仅 root 用户可用。
五、常见问题及解决方案
1. 普通用户无法执行 shutdown
问题:运行 shutdown
时出现:
shutdown: Need to be root
解决:
-
需要 root 权限或
sudo
:sudo shutdown -h now
-
也可以为普通用户添加
shutdown
权限:sudo visudo
添加:
username ALL=(ALL) NOPASSWD: /sbin/shutdown
这样
username
用户可以无密码运行shutdown
。
2. 定时关机无法取消
问题:已经计划了定时关机,但 shutdown -c
无效。
解决:
-
确保
shutdown
进程仍在运行:ps aux | grep shutdown
-
手动终止:
killall shutdown
3. 关机后不自动断电
问题:执行 shutdown -h now
后,系统关闭但设备仍保持通电状态。
解决:
-
改用
poweroff
:shutdown -P now
-
检查电源管理模块:
lsmod | grep acpi
若未加载,尝试:
modprobe acpi
六、总结
-
shutdown
适用于 安全关机,可 定时关机、重启,并通知用户。 -
shutdown -h now
立即关机,shutdown -r now
立即重启。 -
shutdown -c
取消已安排的关机任务。 -
shutdown -k
仅发送警告,不实际关机。
如果需要更快的关机方式,可使用 poweroff
或 halt
。
这里是封面: