发布于2026-08-22 阅读(0)
扫一扫,手机访问
想直接取消shutdown定时任务?那就用sudo shutdown -c吧!它专门用来撤销由shutdown命令(比如sudo shutdown +30或sudo shutdown 22:00)设置的单次关机计划,输入命令后立即生效,而且不需要重启哦!不过要注意,它对cron或systemd timer设置的任务可无效,这些任务得分别通过crontab编辑或systemctl操作来处理。

sudo shutdown -c只要关机计划是用 shutdown 命令设置的(比如 sudo shutdown +30 或 sudo shutdown 22:00),sudo shutdown -c 就能立刻终止它。系统会广播一条取消消息,例如 Shutdown scheduled for 22:00 has been canceled;如果没任务在等,就可能静默返回或提示 No shutdown is pending。
这个命令不依赖你记得当初设的时间点,也不需要查进程或 PID —— 它直接向 shutdown 的守护逻辑发取消信号,是唯一最新支持的撤销方式。
shutdown -c 必须加 sudo,普通用户无权取消全局关机计划crontab 和 shutdown 混了如果你是用 crontab 添加了一条类似 0 23 * * * /sbin/shutdown -h now 的定时关机任务,那 sudo shutdown -c 不起作用——它只管 shutdown 自己挂起的那个单次计划,不管 cron 的周期性作业。
这时得进 cron 编辑器删掉对应行:
sudo crontab -e,找到那行 shutdown 命令,删掉保存sudo crontab -r(慎用,会删所有任务)sudo crontab -l 输出为空或不含 shutdown 就算清理干净Ctrl+C 有时无效有人试过在终端里敲了 sudo shutdown +10 后立刻按 Ctrl+C,发现关机照样发生。这是因为 shutdown 默认是前台阻塞执行:一旦命令被接受,它就 detach 成后台服务,不再绑定当前 shell 的信号处理。
只有两种情况 Ctrl+C 有用:
& 把它丢到后台运行,此时 Ctrl+C 对当前 shell 无影响,但你可以用 kill %1 或找对应 PID 杀掉 —— 不推荐,容易漏杀所以别赌 Ctrl+C,认准 sudo shutdown -c 才稳。
-c如果用了 systemd timer(比如写了 saturday-shutdown.timer 和配套 service),那 shutdown -c 完全不感知这类任务。它只响应传统 init 系统下的 shutdown 调度。
要停掉这类关机,得走 systemd 流程:
systemctl list-timers --all | grep shutdownsudo systemctl stop saturday-shutdown.timersudo systemctl disable saturday-shutdown.timersudo systemctl stop saturday-shutdown.service真正令人头疼的并非是记不住命令,而是难以确定关机任务究竟由谁来调度——是shutdown、cron,还是systemd呢?查看日志是最为稳妥的方法:使用journalctl -u systemd-logind | grep -i shutdown 或者 journalctl -r | grep -i "shut|poweroff",这样就能迅速找到源头啦。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9