macos定时关机由系统级守护进程统一管理,不按用户隔离;需用pmset -g sched查看任务,sudo pmset repeat cancel清除所有重复计划,并逐个切换用户用at -l和at -d清理遗留的at任务。

你设置了定时关机,但发现它只对当前登录用户生效,切换账号后依然触发,或多个账户各自设了不同关机时间导致冲突——macOS 中定时关机任务实际由系统级守护进程统一管理,不按用户隔离,所谓“不同用户账号的定时关机”本质是多个用户分别执行了 shutdown 或 pmset 命令注册了独立任务,需逐个清理。
先确认当前有哪些关机任务在运行
打开终端,输入:
pmset -g sched
这条命令会列出所有已注册的电源调度任务,包括 wakeorpoweron、shutdown、restart 等。注意看输出中是否包含多条 shutdown 行,每条都带具体时间戳和星期标识(如 MTWRFSU)。如果有,说明存在重复或跨用户残留任务。
清除所有 pmset 重复关机任务
这一步会彻底清空系统级的周期性关机计划,无论由哪个用户添加:
sudo pmset repeat cancel
输入管理员密码(无字符显示,属正常),回车后即刻生效。该命令不区分用户身份,直接卸载全部 repeat 类型任务。如果你只设过一次每日关机,这步就已足够。
终止当前待执行的 shutdown 一次性任务
方法一:用标准取消指令
sudo shutdown -c
方法二:强制杀掉正在计时的 shutdown 进程(当 -c 失效时备用)
sudo killall shutdown
【必须在关机倒计时未结束前操作,一旦系统进入关机流程(屏幕变灰、应用退出动画开始),此操作将失效】
检查并清理其他用户遗留的定时任务
第一步:列出所有已登录用户
who
第二步:切换到疑似设置过定时关机的其他用户账号(例如 admin2):
sudo su - admin2
第三步:在其用户上下文中检查是否残留 shutdown 计划:
at -l
如果输出类似 “1234567890.a Wed Sep 16 23:30:00 2026” 的行,说明该用户曾用 at 命令设过关机(虽 macOS 默认禁用 at 服务,但部分旧脚本或第三方工具可能启用)。此时执行:
at -d 1234567890.a
第四步:退出该用户环境:
exit
重复第二至四步,遍历 who 列出的每个用户。不要跳过——哪怕某用户当前未登录,其 at 任务仍可能驻留后台并触发关机。











