Скрипт запуска запущен, но вывод отсутствует (выход с кодом: 2)

Я пытаюсь выполнить скрипт каждую минуту, используя 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>com.bpstatusboard.omnifocus</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/me/script.sh</string>
    </array>
    <key>StartInterval</key>
    <integer>50</integer>
</dict>
</plist>

Задание выполняется с заданным интервалом времени и создает следующий журнал.

Apr 19 15:27:58 MacBook com.apple.launchd.peruser.501[153] (com.bpstatusboard.omnifocus[89895]): Exited with code: 2

Проблема: скрипт должен обновить файл, но это не так. Он работает правильно, когда я запускаю его вручную в терминале. Мне не удалось найти более подробную информацию о выходе code: 2. Есть идеи, что мешает правильному выполнению скрипта?


person Bernd    schedule 19.04.2013    source источник
comment
Очень трудно сказать, ничего не зная о сценарии; см. этот предыдущий ответ для некоторых вариантов устранения неполадок.   -  person Gordon Davisson    schedule 19.04.2013


Ответы (1)


Вышел с кодом: 2

2 ENOENT Нет такого файла или каталог. Компонент указанного пути не существует, или путь представляет собой пустую строку.

Ваш скрипт не существует в /Users/me/script.sh.

person Parag Bafna    schedule 21.10.2013
comment
На самом деле это неправильно. Скрипт был найден и выполнен. Какая-то команда в скрипте вернула код 2. Если бы launchd не нашел скрипт, он бы пожаловался на это: Задание не удалось выполнить exec(3) по непонятной причине: 2 - person LCC; 28.03.2015