задание launchd не удалось выполнить exec (3) по странной причине: 8
Я пытаюсь запланировать простую задачу в OS X Mountain Lion 10.8.3
launchctl start nextstopsun.helloworld
Команда Не выполняет сценарий и выдает сообщение на консоль
4/2/13 9:50:49.663 PM com.apple.launchd.peruser.501[139]: (nextstopsun.helloworld[46729]) Job failed to exec(3) for weird reason: 8
Мой плист очень прост:
<?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>nextstopsun.helloworld</string>
<key>Program</key>
<string>/Users/nextstopsun/Work/scripts/hw.sh</string>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>21</integer>
<key>Minute</key>
<integer>15</integer>
</dict>
<key>UserName</key>
<string>nextstopsun</string>
</dict>
</plist>
Сценарий также очень прост
echo "Hello World!" > hw.log
Launchctl загрузил его без ошибок. При выполнении скрипта из оболочки он работает как и ожидалось. Выход из системы и вход обратно не помогают. Не нашел ответа в Google. Что это за "странная причина: 8"?
1 ответ:
Несколько предложений:
- Сделайте ваш скрипт исполняемым (
chmod +x <your_script>
) или запустите его через bash или sh, передав скрипт в качестве параметра- скорее всего : у вас ошибка в строке shebang (#!) которые не могут быть признаны launchd. Попробуйте
#!/bin/sh
или#!/bin/bash
. Обратите внимание, что это должна быть первая строка в сценарии.- сначала загрузите свою работу через
launchctl load <your_plist>
. Но я думаю, что вы уже сделали это, или появится другое сообщение об ошибке.