跳到主要内容

使用 shutdown 命令定时关机教程


1. 命令简介

shutdown 是 Linux 系统中用于安全关闭或重启计算机的命令,支持定时关机功能,适用于计划维护、批量任务处理等场景。

# 查看命令帮助
shutdown --help

2. 基本语法

shutdown [选项] [时间] [警告消息]

常用选项:

  • -h:关机后停止电源(默认)
  • -P:同 -h,关机并切断电源
  • -r重启计算机
  • -c取消已计划的关机
  • -k:仅发送警告消息,不实际关机

3. 定时关机操作

指定绝对时间(24小时制)

# 示例:在 22:30 关机
sudo shutdown -h 22:30 "系统将于22:30进行维护关机"

# 输出提示:
Broadcast message from user@host (/dev/pts/0) at 16:45 ...
The system is going down for power-off at Tue 2023-01-01 22:30 CST!

指定相对时间(单位:分钟)

# 示例:30分钟后关机
sudo shutdown -h +30 "系统将在30分钟后关机"

# 立即关机(等价于 +0)
sudo shutdown -h now

4. 取消定时关机

# 取消所有计划的关机/重启
sudo shutdown -c

# 取消时会显示提示:
shutdown: Shutdown cancelled

5. 其他常用操作

# 立即重启
sudo shutdown -r now

# 10分钟后重启并显示自定义消息
sudo shutdown -r +10 "系统将重启以应用更新"

# 仅发送警告(不执行关机)
sudo shutdown -k +5 "这是演习!5分钟后不会关机"

6. 注意事项

  1. 权限要求:必须使用 sudo 或以 root 用户执行
  2. 时间格式
    • hh:mm 绝对时间(如 22:30
    • +m 相对时间(如 +30 表示30分钟后)
    • now 立即执行
  3. 用户通知
    • 所有登录用户都会收到关机广播消息
    • 通过 wall 命令额外发送自定义通知:
      echo "请保存工作,系统即将关机!" | wall

7. 总结

场景命令示例
定时关机sudo shutdown -h 22:30
延时关机sudo shutdown -h +45
取消关机sudo shutdown -c
立即重启sudo shutdown -r now
发送警告(不关机)sudo shutdown -k +5 "消息"

💡 提示:使用 shutdown 比直接使用 poweroffreboot 更安全,因为它会有序结束进程并通知用户。