Как запустить демон от имени пользователя root в OS X

1079

Я помещаю свой plist в / Library / LaunchAgents и мою exexutive программу в / usr / libexec и daemon statrs при запуске системы. Но этот демон принадлежит пользователю. Я пытаюсь добавить свой plist в / Library / LauchDaemons, но он не работает и демон не запускается при запуске системы

Я хочу знать, как заставить демона запускаться от имени пользователя root при запуске системы. Какие дополнительные задания я должен выполнить, чтобы демон запускался от имени пользователя root? Заранее спасибо!

0
`launchd` делает именно то, что вам нужно. 11 лет назад 0
Что вы имеете в виду? Что я должен делать? Я могу запустить демон с помощью команды launchctl load coomand oon. Но время жизни демона не истекло. После перезагрузки системы демон не запускается. 11 лет назад 0

2 ответа на вопрос

4
cody

После того, как вы поместили plist в / Library / LaunchDaemons, вам нужно запустить команду sudo launchctl load -w /Library/LaunchDaemons/your.plist
Смотрите man launchctlфлаг -w (он делает именно то, что вам нужно)
Edit : вы установили для ключа RunAtLoad значение true в вашем plist?
Edit2 : я забыл, RunAtLoad не влияет на автозапуск, все это отключено ключом.

Я пытаюсь это, но выдает мне эту ошибку: launchctl: Сомнительное право собственности на файл (пропуск): /Library/LaunchDaemons/com.apple.mydaemon.plist ничего не найдено для загрузки 11 лет назад 0
Они, вероятно, не любят, когда вы используете com.apple. Randy Howard 11 лет назад 0
Ваш plist должен принадлежать root: wheel и иметь мод 0644 (-rw-r - r--) 11 лет назад 0
Что именно я должен сделать, чтобы это работало? Буду признателен, если вы поможете мне решить эту проблему 11 лет назад 0
`sudo chown root: wheel your.plist` и` sudo chmod 0644 your.plist` 11 лет назад 0
Спасибо, дорогой Коди. Демон запускается успешно, но запускается от имени пользователя, а не от имени пользователя root? Какую ошибку вы думаете? 11 лет назад 0
Демон не запускается от имени пользователя root. Я сделал все, что вы сказали, но он не запускается как root! 11 лет назад 0
почему вы думаете, что он не запускается как root? Попробуйте две команды `sudo launchctl list | grep your_daemon_name` и `launchctl list | grep your_daemon_name`. Кто из них показывает тебе своего демона? 11 лет назад 0
Большое спасибо, мистер Коди. Я ценю вашу помощь . Это решено. Будьте здоровы 11 лет назад 0
0
user2370071

Измените каталог, в который вы положили свой plist, вот так:

/System/Library/LaunchDeamon 

Этот каталог был прочитан из Launchd до запуска пользователя.

Я пытался использовать это решение прямо сейчас, но, поскольку я обновился до El-Capitan, я не могу переместить файлы в этот каталог. Есть ли решение для этого? Yaron Idan 8 лет назад 0