macOS默认每12小时唤醒softwareupdated进程强制检查更新,需关闭“自动保持我的 Mac 最新”总开关、取消全部高级选项、关闭升级提醒、执行sudo softwareupdate --schedule off和sudo launchctl disable system/com.apple.SoftwareUpdate、刷新Dock并修改hosts文件屏蔽Apple更新域名。

Mac系统在你专注剪辑视频、调试代码或开线上会议时,突然弹出“正在检查更新”横幅、Dock图标右上角冒出红点、后台悄悄发起DNS查询——这不是偶然打扰,而是macOS默认开启的自动检测机制在持续运行,它每12小时至少唤醒一次softwareupdated进程,强制扫描服务器状态,即使你从不点击“现在更新”。
图形界面关掉自动检测总开关
这一步不做,后续所有操作都只是临时压制,红点和弹窗会在几小时内重现。系统设置里的“自动保持我的 Mac 最新”是全部检测行为的总闸门,它开着,其他选项形同虚设。
点击屏幕左上角的苹果菜单() → “系统设置” → 左侧边栏点“通用” → 右侧点“软件更新”。
点击“自动更新”右侧的 ⓘ 图标 → 取消勾选【自动保持我的 Mac 最新】——漏掉这一项,softwareupdated进程仍会被launchd定期拉起,红点必然再生。
点击“高级…”按钮 → 在弹出窗口中,务必全部取消勾选:自动检查更新、下载新更新、安装 macOS 更新、安装 App Store 应用更新、安装安全响应和系统文件。
返回“软件更新”主界面 → 点击右上角的 ⓘ 按钮 → 关闭“显示 macOS 升级提醒”开关——这步专治横幅式弹窗,尤其对Sequoia预发布提示特别有效。
终端命令彻底禁用检测调度与进程
即使图形界面全关,macOS仍会在凌晨2:37左右唤醒softwareupdated进程,它一运行,“正在检查更新”弹窗就自动复活。这步要让它彻底失能。
打开“应用程序” → “实用工具” → “终端”。
输入命令:sudo softwareupdate --schedule off,回车后输入管理员密码(输入时无光标、无字符反馈,属正常现象)。
紧接着执行:sudo launchctl disable system/com.apple.SoftwareUpdate——这会从系统服务注册表中移除该守护进程的启动权限,比单纯kill更彻底。
运行命令:defaults write com.apple.systempreferences AttentionPrefBundleIDs 0 && killall Dock。【缺任何一个符号或空格都会失败】,输完直接回车,Dock闪一下,系统偏好设置图标右上角红点立即消失。
修改hosts文件物理级阻断检测请求
当横幅、红点、弹窗反复出现,说明系统仍在尝试联网请求。这时要从网络协议层动手,让macOS根本解析不了Apple的更新服务器地址,物理级阻断所有检测源头。
方法一:终端编辑hosts文件
在终端中输入:sudo nano /etc/hosts,回车后输入管理员密码。
用方向键将光标移到文件末尾,新增以下四行(每行以127.0.0.1开头):
127.0.0.1 swscan.apple.com
127.0.0.1 mesu.apple.com
127.0.0.1 swdist.apple.com
127.0.0.1 gdmf.apple.com
按 Control+O 保存 → 回车确认文件名 → Control+X 退出nano编辑器。
刷新DNS缓存:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,回车执行。


















