mac自启动程序不仅存在于“系统设置→登录项”,还大量隐藏在launchagents和launchdaemons中,需通过终端命令精准查看、禁用或删除;用户级代理位于~/library/launchagents/,系统级守护进程存于/library/launchdaemons/,applescript可同步增删登录项。

Mac开机后自动运行的程序常被误认为只在“系统设置→登录项”里管理,其实大量后台服务根本不会出现在图形界面中,它们藏在LaunchAgents和LaunchDaemons配置文件里,必须用终端精准定位、禁用或删除才能彻底控制。
查看所有自启动项的真实全貌
先别急着删,得看清哪些东西真正在后台偷偷启动。系统设置里只显示用户级图形应用,而终端能挖出全部三层:当前用户代理、系统级守护进程、以及AppleScript注册的登录项。
运行这条命令,列出你账户下所有活跃的Launch Agents(最常见来源):
launchctl list | grep -v "0x"
加sudo运行这条,看系统级服务(影响所有用户,慎动):
sudo launchctl list
快速筛出微信、钉钉、百度网盘这类常驻软件,把关键词替进去就行:
launchctl list | grep -i "weixin\|dingtalk\|baidu"
禁用用户级自启代理(安全优先操作)
绝大多数第三方软件(飞书、ToDesk、网易云音乐)会把自启配置写进~/Library/LaunchAgents/,直接卸载+删文件就能断根。
先查清具体文件名:
ls ~/Library/LaunchAgents
找到目标plist(比如com.tencent.xinWeChat.plist),执行卸载:
launchctl unload ~/Library/LaunchAgents/com.tencent.xinWeChat.plist
【必须卸载后再删文件,否则下次登录仍会自动加载】
卸载成功后,永久删除该配置:
rm ~/Library/LaunchAgents/com.tencent.xinWeChat.plist
批量清理可疑项时,重点盯命名含auto、update、agent的plist——这些八成是静默更新器或推广模块。
处理系统级LaunchDaemons(高风险操作)
这类服务由安装包或驱动写入/Library/LaunchDaemons,开机前就运行,修改前务必确认来源。Apple自己的系统服务全在/System/Library/LaunchDaemons,【切勿对com.apple.*或org.openbsd.*开头的文件执行unload】
先列出第三方系统级服务:
ls /Library/LaunchDaemons
确认某服务是否启用:
launchctl list | grep "logitech"
禁用非Apple的守护进程(例如罗技驱动):
sudo launchctl unload /Library/LaunchDaemons/com.logitech.manager.daemon.plist
恢复启用只需把unload换成load:
sudo launchctl load /Library/LaunchDaemons/com.logitech.manager.daemon.plist
用AppleScript增删登录项(绕过图形界面)
这种方法直接调用系统事件接口,添加或移除的条目会实时同步到“系统设置→登录项”界面,适合脚本化或临时调试。
查看当前所有登录项:
osascript -e 'get name of every login item'
方法一:添加新登录项
osascript -e 'tell application "System Events" to make login item at end with properties {path:"/Applications/Slack.app", hidden:false}'
方法二:隐藏启动窗口(后台静默运行)
把上面命令里的hidden:false改成hidden:true
方法三:删除指定登录项
osascript -e 'tell application "System Events" to delete login item "Slack"'











