Запустить скрипт OSX Launch Daemon

Я пытаюсь запустить исполняемый файл на своей машине (MBP Retina OSX Mountain Lion) при запуске.

Вот как выглядит скрипт:

<?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>com.netresponsibility.daemon</string> 
    <key>ProgramArguments</key> 
    <array> 
        <string>/usr/bin/net-responsibility</string> 
        <string>--daemon</string> 
    </array> 
    <key>OnDemand</key> 
        <true/> 
</dict> 
</plist>

Я поместил его в каталог /System/Library/LaunchDaemons/. Он называется com.netresponsibility.daemon.plist и имеет те же разрешения, что и все остальные.

-rw-r--r--  1 root  wheel  420 Oct 11 12:39 com.netresponsibility.daemon.plist

Когда я перезапускаю исполняемый файл, он не вызывается. Любые идеи относительно того, что мне не хватает?


person The Internet    schedule 13.10.2012    source источник
comment
Это не совсем вопрос программирования. Вы можете получить больше ответов на другом сайте обмена стеками, таком как суперпользователь.   -  person Jason Coco    schedule 14.10.2012


Ответы (1)


Во-первых, вы никогда не должны ничего помещать в /System/Library. Этот путь зарезервирован для файлов OS X. Вы должны поместить свои файлы в /Library/LaunchDaemons/.

Во-вторых, вам нужно указать системе загрузить ваш plist, недостаточно просто поместить его туда. Для этого вы используете launchctl:

$ sudo launchctl load -w /Library/LaunchDaemons/com.netresponsibility.daemon.plist

Для получения дополнительной информации выполните man launchctl.

person Jason Coco    schedule 13.10.2012