
Gostaria de saber em que ordem os serviços e aplicativos são iniciados no OS X (Mountain) Lion a partir de pastas de inicialização como:
/Library/LaunchAgents
/Library/LaunchDaemons
/System/Library/LaunchAgents
/System/Library/LaunchDaemons
~/Library/LaunchAgent
/Library/StartupItems
/System/Library/StartupItems
Responder1
/System/Library/LaunchDaemons
, /Library/LaunchDaemons
e /Library/StartupItems
são todos processados na inicialização do sistema. Não há uma ordem específica para as pastas LaunchDaemons - tudo nelas se torna elegível para execução de uma só vez, apenas aquelas que são <key>RunAtLoad</key><true/>
iniciadas imediatamente. A maneira inicial de fazer as coisas é demitir todos e deixá-los resolver suas próprias dependências.
StartupItems (se houver) definem sua própria ordem. Cada StartupItem é uma pasta que inclui o script a ser executado e um StartupParameters.plist
arquivo que (entre outras coisas) pode definir o que o StartupItem fornece e o que ele requer; eles serão ordenados de modo que o item que fornece uma capacidade específica seja executado antes daqueles que a exigem.
Eu esperaria que StartupItems fosse executado após RunAtLoad LaunchDaemons, mas não acho que isso esteja especificado em nenhum lugar e não contaria com isso.
Os itens nas três pastas do LaunchAgent são todos carregados quando um usuário faz login (ou seja, algum tempo após a inicialização do sistema). Tal como acontece com LaunchDaemons, não há uma ordem específica, todos eles se tornam elegíveis para execução ao mesmo tempo.
Finalmente, não há /System/Library/StartupItems
pasta no OS X Lion.