Создание синхронизированного запуска - PullRequest
2 голосов
/ 06 сентября 2010

Я пытаюсь создать PLIST для папки LaunchAgents, которая будет работать постоянно и вызвать сценарий оболочки каждые 30 секунд. Она началась с шаблоном, который я получил здесь и что я пытался приспособить, чтобы соответствовать моим потребностям, но она по-прежнему не работает. Любая помощь?

<?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.Intel_Watchdog</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Library/A_Intel_WATCHDOG/A_WatchDog.sh</string>
    </array>
    <key>StandardErrorPath</key>
    <string>/dev/null</string>
    <key>StandardOutPath</key>
    <string>/dev/null</string>
    <key>StartInterval</key>
    <integer>30</integer>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

спасибо! * * 1006

1 Ответ

1 голос
/ 06 сентября 2010

Я бросил это в свой каталог LaunchDaemons, и он работал нормально.Итак, вот что нужно проверить:

Загружается ли .plist?Обратите внимание, что содержимое папок LaunchAgents загружается при входе в систему, поэтому вам необходимо либо выйти из системы и снова войти в нее, либо вручную загрузить ее с помощью launchctl load ~/Library/LaunchAgents/com.Intel_Watchdog.plist (или где угодно, где бы ни находился файл).Вы можете проверить его статус с помощью launchctl list.

Является ли /Library/A_Intel_WATCHDOG/A_WatchDog.sh исполняемым файлом?Проверьте системный журнал (/var/log/system.log), чтобы увидеть, есть ли у launchd проблемы с его запуском.

Не работает ли скрипт до того, как он выполнит свою работу?Попробуйте добавить date >>/tmp/watchdog.log к нему, сразу после Шебанга, и посмотрите, появляется ли что-нибудь в /tmp/watchdog.log.Если это так, попробуйте изменить StandardErrorPath и StandardOutPath на фактический файл, чтобы вы могли видеть, что происходит во время выполнения скрипта.Обратите внимание, что вам придется выгрузить и перезагрузить .plist, чтобы изменения вступили в силу (выход из системы и повторный вход сделают это).

Наконец, хотя это не должно вызывать проблем, ваш ярлык нене следует стандартному соглашению (если только вы не являетесь владельцем домена Intel_Watchdog.com).Если это только для локального использования, назовите его как local.Intel_Watchdog.Если вы собираетесь опубликовать этот элемент, вы должны основывать метку на домене, которым вы владеете (в обратном порядке, с добавлением «.Intel_Watchdog» в конце) - см. Запись Википедии о системе доменных имен в обратном направлении .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...