查看MacOS系统所有自启动程序清单

macOS开机启动项与其他类Unix比较麻烦,Linux配置rc.local文件即可。

macOS系统上开机启动这个叫法不准确,应该叫“自启动”或则“登录时启动”。
macOS上启动项可分为登录项(Login Items)和启动项(Startup Items):

  1. Login Items在用户登录后立即启动并一直运行,直到用户退出登录或者手动终止才会停止运行;
  2. Startup items在系统装载的最后阶段启动,苹果官方不再推荐使用。

macOS系统的启动项会以 .plist 的文件存在于以下目录中:

~/Library/LaunchAgents //特定用户登录以后以当前用户运行,第三方程序一般都放这里;
/Library/LaunchAgents //任一用户登录后以当前用户启动,管理员使用;
/System/Library/LaunchAgents //系统组件,任一用户登录后以当前用户启动
/Library/LaunchDaemons // 系统装载时以root用户启动,管理员使用
/System/Library/LaunchDaemons //系统组建,系统装载时以root用户启动

/Library/LaunchDaemons:系统启动时运行,用户不登录也会运行。

/Library/LaunchAgents:用户登录后运行。

~/Library/LaunchAgents:用户自定义的用户启动项

/System/Library/LaunchDaemons:系统自带的启动项

/System/Library/LaunchAgents:系统自带的启动项

各目录区别

/System/Library //存放Apple开发的系统组件
/Library //存放系统管理员安装的程序
~/Library //存放普通用户安装的程序

launch daemons和launch agents区别

它们本质上都是守护进程,launch daemons在系统装载时启动,属于所有用户;launch agents是某个用户拥有的程序,在这个用户登录后启动。

plist文件

每个.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/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值