需定位并停用第三方软件注册的定时重启任务:先用launchctl list筛选含restart/reboot/shutdown的服务名,再用sudo launchctl disable user/$(id -u)/[服务名]停用,接着launchctl bootout gui/$(id -u)/[服务名]终止进程,最后删除~/library/launchagents或/library/launchdaemons中对应plist文件,并通过log show等命令验证清除效果。

苹果电脑在安装某些软件(如开发工具、远程控制客户端或系统增强类应用)后,会悄悄注册一个定时重启任务,通常表现为凌晨自动唤醒、弹出“即将重启”提示,或在终端中发现隐藏的launchd计划——你得定位并停用这个被植入的重启调度,而不是反复点击“稍后”。
检查并停用第三方软件注册的定时重启任务
第一步:打开“终端”,输入以下命令列出所有用户级和系统级的定时任务:
launchctl list | grep -i "restart\|reboot\|shutdown"
第二步:若输出中出现类似com.example.app.restart、io.toDesk.reboot 或 org.python.updater 的条目,说明该软件已注入自定义重启计划。记下完整服务名(例如 com.tencent.WeChat.restart)。
第三步:执行停用命令:
sudo launchctl disable user/$(id -u)/【com.example.app.restart】
注意:user/$(id -u)/ 是当前用户的标识前缀,不可省略;服务名必须与上一步完全一致,大小写敏感。
第四步:立即终止正在运行的该任务进程(如有):
launchctl bootout gui/$(id -u) 【com.example.app.restart】
这条命令会强制卸载并停止服务,且不会影响其他进程。
清理残留的LaunchAgent与LaunchDaemon配置文件
有些软件会在安装时直接写入plist文件到系统启动目录,即使卸载App,这些文件仍保留在后台持续触发重启。
方法一:检查用户级代理配置
在终端中运行:
ls ~/Library/LaunchAgents/ | grep -i "restart\|reboot\|shutdown"
方法二:检查系统级守护进程配置
运行:
sudo ls /Library/LaunchDaemons/ | grep -i "restart\|reboot\|shutdown"
若发现匹配文件(如 com.adobe.armdc.restart.plist),执行删除:
rm ~/Library/LaunchAgents/【com.adobe.armdc.restart.plist】
或(需管理员权限):
sudo rm /Library/LaunchDaemons/【com.adobe.armdc.restart.plist】
【删除前务必确认文件名来自目标软件,误删系统plist可能导致功能异常】
验证重启任务是否真正清除
第一步:重启launchd服务加载状态:
killall -u $(whoami) coreaudiod
第二步:重新扫描当前生效的所有计划:
launchctl print system | grep -A5 -B5 "reboot\|restart"
第三步:检查系统日志中是否仍有重启调度记录:
log show --predicate 'eventMessage contains "reboot" OR eventMessage contains "shutdown"' --last 24h | head -n 20
若三步输出均为空,说明该软件植入的定时重启机制已被切断。











