方法1:取消已计划的 shutdown
命令
这是最常见的情况,当您使用 shutdown
命令设置了延迟关机(如 shutdown -h 10
)时:
- 按组合键
Ctrl + Alt + T
打开终端 - 输入命令:
sudo shutdown -c
-c
参数表示取消(cancel)计划中的关机。
- 系统会广播取消通知
所有登录用户将收到类似消息:
Broadcast message from root... System shutdown has been cancelled
✅ 适用场景:通过
shutdown
、halt
或poweroff
命令发起的延迟关机。
方法2:取消 at
调度的关机任务
若关机任务通过 at
命令定时执行(如 echo "shutdown now" | at 23:00
):
- 查看任务ID
atq
输出示例:
5 Thu Jun 13 23:00:00 2025 a root
- 删除对应任务
sudo atrm 5 # 将"5"替换为实际任务ID
方法3:终止已运行的关机进程
若关机命令已执行但仍在倒计时(如 shutdown -h +5
):
- 查找关机进程的PID
pgrep -f "shutdown"
输出示例:
1122
- 终止进程
sudo kill -9 1122 # 将"1122"替换为实际PID
方法4:取消 Systemd 定时关机
若使用 systemd
安排关机(如 sudo shutdown -h 22:00
):
- 列出定时器
systemctl list-timers
查找
shutdown.target
或systemd-halt.service
。 - 取消任务
sudo systemctl stop shutdown.target # 停止目标 sudo systemctl disable shutdown.target # 禁用自启
⛔ 无法取消的情况
- 已进入关机流程:若系统开始卸载文件系统或显示
Power down
,无法取消。 - 无延迟的立即关机:如
shutdown now
或poweroff
会直接关闭,无取消机会。
操作注意事项
- 权限要求:取消命令需
root
或sudo
权限。 - 用户通知:取消后建议通过
wall
命令通知所有用户(如wall "关机已取消"
)。 - 预防误操作:
- 执行关机前添加延迟(如
shutdown -h +2
预留2分钟缓冲)。 - 使用
shutdown -k +5
发送警告但不真正关机(测试用)。
- 执行关机前添加延迟(如
引用说明
- Linux 内核文档:
man 8 shutdown
- Systemd 定时任务管理:
man systemd.timer
at
命令手册:man at
通过上述方法,您可灵活管理Linux系统的关机计划,建议操作前确认命令参数,避免数据丢失风险。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6372.html