Mac自动重启需四层拦截:先在系统设置中关闭“安装macOS更新”开关;再用终端停用调度、禁用守护进程并终止进程;接着删除/var/db/restart_required标记文件;最后修改/etc/hosts屏蔽restart.apple.com和reboot.apple.com。

Mac在下载或安装软件更新时会突然触发自动重启,正在剪辑视频、调试代码或远程会议中被强制中断,未保存内容直接丢失——这不是偶然弹窗,而是系统默认启用的静默重启机制已预设好执行路径,必须从调度源头、进程层、标记文件和网络请求四层同时拦截。
关闭图形界面中的重启触发开关
这一步是阻断重启行为的第一道防线,不操作此步,后续所有终端命令都可能被图形界面策略覆盖失效。
1、点击屏幕左上角的苹果菜单() → “系统设置”。
2、左侧边栏点击“通用” → 右侧点击“软件更新”。
3、点击“自动更新”右侧的 ⓘ 图标,进入子页面。
4、取消勾选“安装 macOS 更新”——【这是唯一能切断更新包与重启逻辑绑定的开关,其他选项关不关都不影响该行为】。
5、返回“软件更新”主界面,点击右上角的 (i) 按钮,关闭“显示 macOS 升级提醒”开关。
禁用后台重启调度与终止守护进程
即使界面设置已关闭,macOS 仍会通过 launchd 在更新完成后 10 分钟内拉起重启任务。必须手动清除计划并杀死当前进程。
方法一:停用调度 + 清除状态
1、打开“应用程序” → “实用工具” → “终端”。
2、输入命令:sudo softwareupdate --schedule off,回车后输入管理员密码(无光标反馈属正常)。
3、运行:sudo launchctl disable system/com.apple.restarted,永久移除重启守护进程的自启权限。
4、立即终止正在运行的进程:sudo pkill -f com.apple.restarted。
方法二:仅终止当前进程(临时应急)
在终端中执行:sudo killall com.apple.restarted,适用于你刚看到倒计时横幅、需要立刻压制的场景。
删除系统重启标记文件
macOS 完成更新下载后,会在 /var/db 下写入一个名为 restart_required 的空文件,只要它存在,系统就会随时唤醒并启动倒计时。不删它,重启提示永远可能复现。
第一步:检查标记是否存在
在终端中输入:ls /var/db/restart_required,若返回路径则说明标记已写入。
第二步:立即删除标记
运行:sudo rm -f /var/db/restart_required,【执行后倒计时横幅会立刻消失,且不会再次生成】。
第三步:验证是否生效
再执行一次 ls /var/db/restart_required,应返回 “No such file or directory”。
屏蔽第三方更新代理的重启请求
Microsoft AutoUpdate、Google Software Update 等第三方代理检测到系统更新就绪后,会主动向 Apple 的协调服务发起 HTTP 请求,从而触发本地弹窗。图形界面和系统命令都管不到它们,必须从网络层截断。
1、在终端中输入:sudo nano /etc/hosts,回车后输入管理员密码。
2、将光标移至文件末尾,新增以下两行:
127.0.0.1 restart.apple.com
127.0.0.1 reboot.apple.com
3、按 Control+O 保存,回车确认;再按 Control+X 退出。

















