Использование Launchd для приложения Applescript

336
krees

Я создал приложение Applescript (называемое Print Release), которое работает без проблем (код ниже):

do shell script "rm -R /Users/<account>/release.zip; rm -R /Users/<account>/release; curl -L https://URL/to/webserver/release.zip -o /Users/<account>/release.zip; unzip -o /Users/<account>/release.zip -d /Users/<account>; rm -rf /Users/<account>/__MACOSX; /Users/<account>/release/pc-release-mac.command --config config.properties" 

Сейчас я пытаюсь создать файл plist (называемый com.papercut.release.agent.plist), чтобы я мог запустить его при загрузке и автоматически перезапустить, если пользователь закроет программу. Когда я загружаю файл plist (написанный ниже) с помощью терминала, я получаю ошибку «Нет такого файла или каталога».

<?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.papercut.release.agent</string> <key>ProgramArguments</key> <array> <string>/Applications/Print Release.app/Contents/MacOS/Application Stub</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> 

Я использую следующий код, чтобы попытаться загрузить файл plist с помощью терминала:

launchctl load com.papercut.release.agent.plist 

Я также попробовал:

launchctl load /Library/LaunchAgents/com.papercut.release.agent.plist 

Было бы здорово, если бы я мог запускать приложение только при нагрузке и поддерживать его для 1 конкретной учетной записи, а не для всех учетных записей, но я не уверен, как это сделать.

Любая помощь будет принята с благодарностью.

1
Сохраните `com.papercut.release.agent.plist` в` ~ / Library / LaunchAgents`. Затем `cd` в этот каталог и запустите` launchctl load com.papercut.release.agent.plist`, и посмотрите, работает ли это. CJK 6 лет назад 0

0 ответов на вопрос

Похожие вопросы