Запущен в качестве сторожевого пса
Можно ли настроить launchd на OSX (в частности, Mountain Lion), чтобы он работал как сторожевой таймер, отслеживая процессы, после их запуска, чтобы поддерживать их работу? Если так, то как?
1 ответ
Создайте файл.plist, сообщающий launchd, что запускать, когда запускать его и что делать при его выходе. Вот очень простой пример:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.someidentifier</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/path/to/executable</string>
</array>
</dict>
</plist>
Есть намного больше вариантов; см . документы разработчика Apple и справочную страницу launchd.plist. После того, как файл создан, поместите его в /Library/LaunchDaemons/local.someidentifier.plist (обратите внимание, что имя файла должно соответствовать записи "Label"). Установите для его владельца права root, group to wheel и разрешения 644. Он будет загружен при перезагрузке компьютера, или вы можете загрузить его вручную с помощью sudo launchctl load /Library/LaunchDaemons/local.someidentifier.plist