怎么关闭MacOS上的自启动软件?

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/>

转自知乎

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 之前为了在外面访问内网,安装了Pulse Secure软件,但是每次开机都会启动,从网上找了很多方法都不合适,最后...
    shiguangfeixu阅读 21,013评论 1 6
  • Mac开机启动的配置与其他类Unix系统相比较麻烦,Linux配置rc.local文件即可。macOS系统上开机启...
    仰海的黑板报阅读 43,785评论 4 15
  • Mac设置开机启动 本文针对命令行使用的开发工具或自己编写的脚本设置开机启动,图形化界面的程序仅需要设置->用户与...
    聪明叉阅读 25,321评论 0 24
  • 在Mac OS X中,有三种方式来实现启动项的配置:1)Login Items;2)StartupItems;3)...
    cbw100阅读 25,180评论 0 9
  • 首先感谢原创作者:Fredericshihe大家自己喜好决定,但我不敢保证将来不会出问题,但是我敢保证不会白苹果或...
    MdWhat阅读 10,195评论 0 6