以下为本篇文章全部内容:
macOS 系统的启动项会以 .plist 的文件存在于以下目录中:
/Library/LaunchDaemons
:系统启动时运行,用户不登录也会运行。
/Library/LaunchAgents
:用户登录后运行。
~/Library/LaunchAgents
:用户自定义的用户启动项
/System/Library/LaunchDaemons
:系统自带的启动项
/System/Library/LaunchAgents
:系统自带的启动项
KeepAlive
:决定程序是否需要一直运行,如果是 false 则需要时才启动。默认 false
RunAtLoad
:开机时是否运行。默认 false。
SuccessfulExit
:此项为 true 时,程序正常退出时重启(即退出码为 0);为 false 时,程序非正常退出时重启。此项设置时会隐含默认 RunAtLoad = true,因为程序需要至少运行一次才能获得退出状态。
如果 KeepAlive
= false:
当 RunAtLoad
= false 时:程序只有在有需要的时候运行。
当 RunAtLoad
= true 时:程序在启动时会运行一次,然后等待在有需要的时候运行。
当 SuccessfulExit
= true / false 时:不论 RunAtLoad
值是什么,都会在启动时运行一次。其后根据 SuccessfulExit
值来决定是否重启。
如果 KeepAlive
= true :
不论 RunAtLoad
/SuccessfulExit
值是什么,都会启动时运行且一直保持运行状态。
1. 找到对应程序的 .plist 文件
2. 删除 SuccessfulExit 属性。
3. 将 RunAtLoad / KeepAlive 均设为 <false/>
例如修改adobe的桌面软件不要开机启动
sudo vim /Library/LaunchAgents com.adobe.AdobeCreativeCloud.plist
修改文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.adobe.AdobeCreativeCloud</string> <key>Program</key> <string>/Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app/Contents/MacOS/Creative Cloud</string> <key>ProgramArguments</key> <array> <string>/Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app/Contents/MacOS/Creative Cloud</string> <string>--showwindow=false</string> <string>--onOSstartup=true</string> </array> <key>RunAtLoad</key> <false/>//修改成false为禁止开机启动 </dict> </plist>
总赞数量:18274
总踩数量:128087
文章数量:29