Mac下的啟動服務(wù)主要三個(gè)可配置的地方
1茶没、系統(tǒng)偏好設(shè)置->帳戶->登陸項(xiàng)
2角钩、/System/Library/StartupItems/
和 /Library/StartupItems/
3、launchd 系統(tǒng)初始化進(jìn)程配置捡多。
launchd是Mac OS下布持,用于初始化系統(tǒng)環(huán)境的關(guān)鍵進(jìn)程庶骄。類似Linux下的init, rc
Mac OS X的啟動原理
1,mac固件激活,初始化硬件芳来,加載BootX引導(dǎo)器含末。
2,BootX加載內(nèi)核與內(nèi)核擴(kuò)展(kext)即舌。
3佣盒,內(nèi)核啟動launchd進(jìn)程。
4顽聂,launchd根據(jù) /System/Library/LaunchAgents , /System/Library/LaunchDaemons , /Library/LaunchDaemons, Library/LaunchAgents , ~/Library/LaunchAgents里的plist配置肥惭,啟動服務(wù)守護(hù)進(jìn)程。
/System/Library和/Library和~/Library目錄的區(qū)別紊搪?
/System/Library目錄是存放Apple自己開發(fā)的軟件蜜葱。
/Library目錄是系統(tǒng)管理員存放的第三方軟件。
~/Library/是用戶自己存放的第三方軟件嗦明。
LaunchDaemons和LaunchAgents的區(qū)別笼沥?
LaunchDaemons是用戶未登陸前就啟動的服務(wù)(守護(hù)進(jìn)程)。
LaunchAgents是用戶登陸后啟動的服務(wù)(守護(hù)進(jìn)程)娶牌。
MacOS:Launchd&LaunchDaemon&LaunchAgent&.plist文件編寫
launchd_test.app contents
? ~ launchctl load ~/Library/LaunchAgents/local.launchd_test.app.plist
? ~ launchctl list
? ~ launchctl unload ~/Library/LaunchAgents/local.launchd_test.app.plist