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
网友评论