Почему 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, чтобы исправить это «правильным» способом, но это работает достаточно хорошо для меня, поэтому я беру победу.