
我想知道 OS X (Mountain) Lion 中的服務和應用程式從啟動資料夾啟動的順序,例如:
/Library/LaunchAgents
/Library/LaunchDaemons
/System/Library/LaunchAgents
/System/Library/LaunchDaemons
~/Library/LaunchAgent
/Library/StartupItems
/System/Library/StartupItems
答案1
/System/Library/LaunchDaemons
、/Library/LaunchDaemons
、 和/Library/StartupItems
均在系統啟動時處理。 LaunchDaemons 資料夾沒有特定的順序——其中的所有內容都可以同時運行,只有那些<key>RunAtLoad</key><true/>
真正立即啟動的內容才可以。啟動的做事方式就是把他們全部解僱,讓他們釐清自己的依賴關係。
StartupItems(如果有的話)定義自己的順序。每個 StartupItem 都是一個資料夾,其中包含要執行的腳本和一個StartupParameters.plist
檔案(除其他外)可以定義 StartupItem 提供的內容以及它需要的內容;它們將被排序,以便提供特定功能的項目在需要它的項目之前運行。
我希望 StartupItems 在 RunAtLoad LaunchDaemons 之後運行,但我不認為這是在任何地方指定的,我不會指望它。
當使用者登入時(即係統啟動後的某個時間),三個LaunchAgent 資料夾中的項目都會被載入。與 LaunchDaemons 一樣,沒有特定的順序,它們都可以同時運行。
/System/Library/StartupItems
最後, OS X Lion 中沒有資料夾。