Я пытаюсь настроить сервер Appium на стат автоматически после запуска системы. Также я бы хотел, чтобы он перезагрузился после сбоя. Appium был установлен как пакет npm, и он запускается и работает нормально, когда я набираю "appium" в терминале.
Итак, я создал файл io.appium.server.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>io.appium.server</string>
<key>OnDemand</key>
<false/>
<key>UserName</key>
<string><valid_user_name></string>
<key>GroupName</key>
<string>staff</string>
<key>ProgramArguments</key>
<array>
<string>appium</string>
<string>--session-override</string>
</array>
</dict>
</plist>
Затем назначил правильного владельца (chown) и разрешения (chmod) для этого файла и выполнил команду:
sudo launchctl load /Library/LaunchAgents/io.appium.server.plist
По какой-то причине это не запустило сервер Appium, я не могу подключиться к нему. Команда "launchctl list" сообщила, что моя задача завершилась с кодом состояния 78, но в документации Appium я не могу найти, что означает этот код завершения.
$ launchctl list | grep appium
- 78 io.appium.server
Что я упустил? Почему appium запускается нормально, когда запускается из командной строки, но не запускается из launchd?
Я попытался переместить файл plist в каталог пользователя: ~/Library/LaunchAgents/, изменив имя пользователя, но ни один не помог. Я отладил его, установив ключи StandardOutPath и StandardErrorPath, и обнаружил, что выходные файлы были созданы, но были пустыми.