Почему LaunchAgents не запускает мое приложение Automator?

Я хотел бы запускать приложение, созданное с помощью Automator, каждые 5 минут, поэтому я поместил в эту папку следующий файл com.user.wilson.plist:

/ Library / LaunchAgents

<?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.user.wilson</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/open</string>
        <string>-a</string>
        <string>/Users/paul/Documents/Wilson/Script/mt-wilson-background_app</string>
    </array>
   <key>StartInterval</key>
   <integer>300</integer>
</dict>
</plist>

Затем я загрузил его, используя следующую команду в терминале:

launchctl load Library/LaunchAgents/com.user.wilson.plist

но по какой-то причине приложение никогда не запускается.

Однако я могу успешно запустить приложение с помощью этой команды:

/usr/bin/open -a /Users/paul/Documents/Wilson/Script/mt-wilson-background_app

Любые идеи, почему файл.plist не будет делать то, что я ожидаю?

2 ответа

Решение

Чтобы увидеть, что происходит не так, вы можете добавить файл журнала в свой список следующим образом:

<?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.user.wilson</string>
    <key>StandardErrorPath</key>
    <string>/Users/paul/Documents/Wilson/Script/err.log</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/open</string>
        <string>-a</string>
        <string>/Users/paul/Documents/Wilson/Script/mt-wilson-background_app</string>
    </array>
   <key>StartInterval</key>
   <integer>300</integer>
</dict>
</plist>

Примечание: чтобы изменения вступили в силу, выгрузите и загрузите снова:

launchctl unload Library/LaunchAgents/com.user.wilson.plist
launchctl load Library/LaunchAgents/com.user.wilson.plist

Как правило, если err.log говорит, что не может найти ваше приложение, значит, это проблема с разрешением.

Я бы посоветовал вам попробовать перенести приложение из /Users/paul/Documents/Wilson/Script/mt-wilson-background_app в /Users/paul/Documents/mt-wilson-background_app

Затем обновите свой список соответственно, выгрузите и обновите список, теперь он работает лучше?

Столкнулся почти с такой же проблемой. Я наконец (НАКОНЕЦ-ТО!!!) нашел лекарство, которое сработало для меня.

Первоначально сломанная версия агента запуска .plist, которая не запускалась независимо от того, что я пробовал, находилась в /Library/LaunchAgents. Перемещение агента в /Users/[me]/LaunchAgents устранило ошибку «Приложение не запущено».

Это кажется нелогичным, поскольку корневой агент должен иметь возможность запускать все из любого места, но я могу только догадываться, что проверка AppleScript, чтобы увидеть, запущено приложение или нет, каким-то образом зависит от учетной записи пользователя. Бьюсь об заклад, есть что-то, что вы можете добавить в AppleScript, чтобы исправить это «правильным» способом, но это работает достаточно хорошо для меня, поэтому я беру победу.

Другие вопросы по тегам