必须从设置层、进程层、网络层三路同步阻断才能彻底解决mac系统反复弹出“正在检查更新”弹窗的问题:先关闭系统设置中“自动保持我的 mac 最新”及全部高级选项;再用终端命令停用softwareupdated调度、禁用其launchd服务并清除dock红点;最后修改hosts文件屏蔽apple更新服务器域名并刷新dns缓存。

Mac系统反复弹出“正在检查更新”的循环弹窗,会打断你写代码、剪辑视频或开远程会议——这不是偶然卡顿,而是 macOS 在后台持续唤醒 softwareupdated 进程发起检测,并通过通知服务强行推送视觉反馈。必须从设置层、进程层、网络层三路同步阻断,否则弹窗隔几小时就回来。
第一步:关掉图形界面所有自动行为总闸门
这一步不做,后面全白忙。系统设置里那个“自动保持我的 Mac 最新”是总开关,它开着,其他选项形同虚设。
1、点击屏幕左上角的苹果菜单()→ 选择“系统设置”。
2、左侧边栏点“通用”→ 右侧点“软件更新”。
3、点击“自动更新”右侧的 ⓘ 图标,进入子页面。
4、取消勾选【自动保持我的 Mac 最新】——这是全部后台动作的源头,不关掉,softwareupdated 会每天至少唤醒三次。
5、点击“高级…”按钮,在弹出窗口中逐项取消勾选:自动检查更新、下载新更新、安装macOS 更新、安装安全响应和系统文件——漏掉“安装安全响应和系统文件”,系统仍可能偷偷打补丁并触发红点。
6、返回“软件更新”主界面,点击右上角的 (i) 按钮,关闭“显示 macOS 升级提醒”开关——这专治横幅式弹窗,尤其对 Sequoia 预发布提示特别有效。
第二步:用终端命令杀死残留进程并清空视觉红点
即使图形设置全关,launchd 仍会按计划表拉起 softwareupdated,它一运行,“正在检查更新”弹窗就自动复活。这步要让它彻底失能。
方法一:停调度 + 卸服务 + 清红点(推荐一次性执行)
1、打开“应用程序” → “实用工具” → “终端”。
2、输入命令:sudo softwareupdate --schedule off,回车后输入管理员密码(输入时无光标、无字符反馈,属正常)。
3、紧接着执行:sudo launchctl disable system/com.apple.SoftwareUpdate——这会从系统注册表中移除该守护进程的启动权限,比单纯 kill 更彻底。
4、运行:defaults write com.apple.systempreferences AttentionPrefBundleIDs 0 && killall Dock——【缺任何一个符号或空格都会失败】,这条命令必须整行复制粘贴,它会立刻抹掉系统偏好设置图标右上角的红点,并刷新 Dock。
第三步:修改 hosts 文件,让系统根本连不上 Apple 更新服务器
如果前两步做完,弹窗还是偶尔冒头,说明 macOS 正在尝试联网验证——这时得从 DNS 层动手,让它查不到 swscan.apple.com 这类域名,物理断链。
1、在终端中输入:sudo nano /etc/hosts,回车后输入管理员密码,进入编辑模式。
2、用方向键将光标移到文件最末尾,新起一行,粘贴以下全部内容:
## Block macOS update servers<br>127.0.0.1 swscan.apple.com<br>127.0.0.1 mesu.apple.com<br>127.0.0.1 swdist.apple.com<br>127.0.0.1 gdmf.apple.com<br>127.0.0.1 xp.apple.com<br>127.0.0.1 updates.cdn-apple.com
3、按 Ctrl + O 保存 → 回车确认文件名 → 按 Ctrl + X 退出 nano 编辑器。
4、立即刷新 DNS 缓存:sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder——这步不做,新规则不会生效,系统还会继续尝试连接。











