/System/Library/LaunchDaemons
, /Library/LaunchDaemons
и /Library/StartupItems
обрабатываются при запуске системы. У папок LaunchDaemons нет определенного порядка - все в них может запускаться сразу, только те, у которых <key>RunAtLoad</key><true/>
запускаются немедленно. Запущенный способ сделать это - уволить их всех и позволить им разобраться со своими собственными зависимостями.
StartupItems (если они есть) определяют их собственный порядок. Каждый StartupItem - это папка, которая включает в себя сценарий для запуска и файл StartupParameters.plist
который (среди прочего) может определять, что предоставляет StartupItem и что ему требуется; они будут упорядочены таким образом, чтобы элемент, который предоставляет определенную возможность, выполнялся раньше тех, кто в этом нуждается.
Я ожидаю, что StartupItems будет выполняться после RunAtLoad LaunchDaemons, но я не думаю, что это указано где-либо, и я бы не стал рассчитывать на это.
Все элементы в трех папках LaunchAgent загружаются при входе пользователя в систему (т. Е. Через некоторое время после запуска системы). Как и в случае с LaunchDaemons, особого порядка нет, все они могут запускаться одновременно.
Наконец, в OS X Lion нет папки /System/Library/StartupItems
.