Mac 开机启动后台程序

Mac下的启动服务主要三个可配置的地方
1、系统偏好设置->帐户->登陆项
2、/System/Library/StartupItems//Library/StartupItems/
3、launchd 系统初始化进程配置。

launchd是Mac OS下,用于初始化系统环境的关键进程。类似Linux下的init, rc

Mac OS X的启动原理
1,mac固件激活,初始化硬件,加载BootX引导器。
2,BootX加载内核与内核扩展(kext)。
3,内核启动launchd进程。
4,launchd根据 /System/Library/LaunchAgents , /System/Library/LaunchDaemons , /Library/LaunchDaemons, Library/LaunchAgents , ~/Library/LaunchAgents里的plist配置,启动服务守护进程。

/System/Library和/Library和~/Library目录的区别?
/System/Library目录是存放Apple自己开发的软件。
/Library目录是系统管理员存放的第三方软件。
~/Library/是用户自己存放的第三方软件。

LaunchDaemons和LaunchAgents的区别?
LaunchDaemons是用户未登陆前就启动的服务(守护进程)。
LaunchAgents是用户登陆后启动的服务(守护进程)。

MacOS:Launchd&LaunchDaemon&LaunchAgent&.plist文件编写

launchd_test.app contents

image.png
image.png
➜  ~ launchctl load ~/Library/LaunchAgents/local.launchd_test.app.plist
➜  ~ launchctl list
➜  ~ launchctl unload ~/Library/LaunchAgents/local.launchd_test.app.plist

你可能感兴趣的:(Mac 开机启动后台程序)