macOS 开机自动启动软件怎么关闭

2023-01-28 10:01:42
## 常规情况 系统偏好设置 -> 用户与群组-> 点击用户名 -> 登陆项 将不需要的启动项删除即可。 ## 特殊情况 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 均设为 `<false/>`