LaunchDaemons и переменные среды - PullRequest
2 голосов
/ 03 февраля 2010

Некоторое время назад я заметил, что мой экземпляр Apache2, установленный на MacPorts, не запускался при запуске ( MacPorts Apache2 остановлен при загрузке ). LaunchDaemon загружен. Сегодня я наткнулся на что-то в файле журнала, которое может указывать на ответ, но я не могу найти никакого подтверждения.

Я использую переменные окружения в моем httpd.conf файле. В частности, переменная ${HOME}. Возможно ли (или вероятно, и т. Д.), Что переменные окружения полностью загружаются при выполнении LaunchDaemons? Я могу добавить их в файл plist, но я надеюсь, что кто-нибудь может дать мне достойный, высокий уровень обзора процесса загрузки OS X и подтвердить то, что, по моему мнению, я вижу.

Спасибо.

1 Ответ

0 голосов
/ 05 февраля 2010

Я нашел эту страницу о процессе загрузки в MacOSX, которая содержит некоторую информацию. По сути, launchd запускается и запускается от имени пользователя root. Каждый демон запускается launchd на основе файла plist.

Относительно среды во время запуска демона, я не нашел ни единого кусочка явной информации. Но после прочтения launchctl man я нашел команду, которая может распечатать окружение launchd. Так что хитрость заключается в том, чтобы пойти root и спросить:

#$> sudo su
Password:
#$> whoami
root
#$> launchctl
launchd% export
PATH="/usr/bin:/bin:/usr/sbin:/sbin"; export PATH;
launchd% exit
#$> exit

Я предполагаю, что среда печати - та, которая используется при запуске демонов. Если вы повторите операцию без ввода root, среда должна соответствовать пользовательской.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...