Mac设计开机启动项
MAC设置开机启动项分两种级别。简单和深度。
简单设置开机启动项
此种方法是通过系统->用户 进行设置。一些简单的可以通过此方法设置。不过很多启动项有时候这里看不到。
深度设置开机启动项
macOS 系统的启动项会以 .plist 的文件存在于以下目录中:
/Library/LaunchDaemons:系统启动时运行,用户不登录也会运行。
/Library/LaunchAgents:用户登录后运行。
~/Library/LaunchAgents:用户自定义的用户启动项
/System/Library/LaunchDaemons:系统自带的启动项
/System/Library/LaunchAgents:系统自带的启动项
每个 .plist 文件中,有 3 个属性控制着是否会开机自动启动。
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 均设为
参考:
简答设置启动项:https://jingyan.baidu.com/article/0320e2c114a9cb1b87507bc4.html
深度设置启动项:https://www.zhihu.com/question/28268529/answer/355905456