В каком порядке обрабатываются элементы автозагрузки в OS X Lion/Mountain Lion?

В каком порядке обрабатываются элементы автозагрузки в OS X Lion/Mountain Lion?

Я хотел бы узнать, в каком порядке запускаются службы и приложения в 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/>действительно запускаются немедленно. Метод launchd заключается в том, чтобы запустить их все и позволить им самим разобраться со своими зависимостями.

StartupItems (если таковые имеются) определяют свой собственный порядок. Каждый StartupItem — это папка, которая включает скрипт для запуска и файл, StartupParameters.plistкоторый (помимо прочего) может определять, что предоставляет StartupItem и что он требует; они будут упорядочены так, что элемент, который предоставляет определенную возможность, будет запущен до тех, которые ее требуют.

Я бы ожидал, что StartupItems запустится после RunAtLoad LaunchDaemons, но не думаю, что это где-то указано, и я бы на это не рассчитывал.

Все элементы в трех папках LaunchAgent загружаются, когда пользователь входит в систему (т.е. когда-то после запуска системы). Как и в случае с LaunchDaemons, здесь нет определенного порядка, все они становятся доступными для запуска одновременно.

/System/Library/StartupItemsНаконец, в OS X Lion нет папки.

Связанный контент