У меня проблемы с созданием сценария Launchd. Это довольно просто, все, что нужно сделать, это запустить приложение - расположение: /Library/Desktop Pictures/wallpaper
Я загрузил файл с помощью терминала, и терминал не выдает ошибок, но скрипт не выполняется. Мне нужно, чтобы сценарий выполнялся каждые 1 час.
Файл 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>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>wallpaper.restart</string>
<key>ProgramArguments</key>
<array>
<string>/Library/Desktop Pictures/wallpaper.wallpaperapp.app</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>1</integer>
</dict>
</dict>
</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>KeepAlive</key>
<dict>
<key>AfterInitialDemand</key>
<true/>
</dict>
<key>Label</key>
<string>com.plisterine.backgroundchanger</string>
<key>LowPriorityIO</key>
<false/>
<key>Nice</key>
<integer>0</integer>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/osascript</string>
<string>/Library/Desktop Pictures/wallpaper/wallpaper.scpt</string>
</array>
<key>StartInterval</key>
<integer>3600</integer>
</dict>
</plist>
<string>/Library/Desktop Pictures/wallpaper.wallpaperapp.app</string>
Вы уверены, что это правильно? - person Craig Smith   schedule 24.05.2016wallpaper.wallpaperapp.app
, это, вероятно, будет пакет приложения, а не двоичный исполняемый файл. Также маловероятно, что он будет работать правильно при запуске из launchd вне сеанса рабочего стола. - person   schedule 24.05.2016KeepAlive
иNice
в этом случае просто для запуска AppleScript? А в какой папке находится файл launchd? Вы также должны учитывать права доступа, поскольку ваш сценарий находится в локальной папке библиотеки. - person vadian   schedule 25.05.2016lanuchctl list
, он выдаст вам список всех запущенных процессов. Непосредственно перед процессом вы должны увидеть код состояния (у большинства других будет 0). Найдите этот код и найдите его, вы получите более полное представление о любых проблемах, проверив этот код состояния. - person ThrowBackDewd   schedule 02.06.2016