mac启用开发者模式后意外定时关机,是因xcode等工具注入了隐藏关机任务;需先用sudo shutdown -c中止当前任务,再用sudo pmset repeat cancel清除pmset调度,并检查~/library/launchagents/中相关plist文件删除。

Mac启用开发者模式后意外触发定时关机,往往是因为Xcode、Command Line Tools或配套测试工具(如xctrace、simctl)在运行自动化测试时注入了临时关机调度,这类任务不会出现在系统设置界面,必须通过终端精准定位并清除。
立即终止正在倒计时的关机任务
打开“终端”(可通过聚焦搜索 Command + 空格 输入“终端”启动)。
输入:sudo shutdown -c,回车。
系统提示输入管理员密码——输入时屏幕无任何显示,属正常安全机制,准确输入后直接按回车即可。
若终端返回 Shutdown cancelled,说明已成功中止当前挂起的关机指令;若无返回或报错,说明该任务并非由标准 shutdown 命令发起,需进入下一步排查。
清除开发者工具可能注入的 pmset 重复任务
开发者模式下,Xcode Server、xcodes、或第三方CI脚本常调用 pmset repeat 设置每日关机以清理测试环境,这些任务图形界面不可见,但会持续生效。
在终端中运行:pmset -g sched,回车。
仔细查看输出内容:若出现含 shutdown at、wakeorpoweron 或 repeat 字样的行,说明存在残留调度。
执行:sudo pmset repeat cancel,回车并输入密码。
这一步会清空所有由 pmset repeat 创建的周期性电源事件,包括 Xcode 自动化测试流程埋下的关机指令。【执行后无任何提示即表示成功】。
检查并停用开发者相关自动化脚本
有些测试脚本(尤其是 shell 脚本或 launchd plist)会在 ~/Library/LaunchAgents/ 下注册关机任务,它们绕过系统设置和 pmset,独立运行。
按下 Shift + Command + G 打开访达路径:~/Library/LaunchAgents/。
查找名称含以下关键词的 .plist 文件:shutdown、test-cleanup、xcode、ci-、autooff。
找到后,直接将文件拖入废纸篓;若不确定作用,可先右键 → “显示简介”,在“通用”栏查看“已锁定”状态及“修改日期”——若修改时间在启用开发者模式后,且创建者为 xcodebuild 或 xcparse 等进程,则应删除。
重启终端,再次运行 pmset -g sched 和 atq(如有输出则用 atrm 编号 清除),确认无任何关机条目残留。











