Супервизор не запускает приложение .AppImage

У меня есть приложение Electron, упакованное с использованием формата AppImage, в коробке Debian 8. Я хотел бы отслеживать и перезапускать это приложение с помощью supervisord (v3.0), но я просто не могу понять, почему оно не работает.

Вот как я успешно запускаю свое приложение вручную:

/home/player/player.AppImage

Ничего не стоит, что это приложение не демонизировано. Если вы закроете текущую оболочку, вы также закроете приложение, как и должно быть, чтобы приложение отслеживалось супервизором.

Вот как выглядит мой файл .conf для супервизора:

[program:player]
command=/home/player/player.AppImage
user=player
autostart=true
autorestart=true
startretries=3

Это то, что супервизор возвращает при «стартовом игроке супервизора»:

player: ERROR (abnormal termination)

Что в логах:

2018-01-09 22:44:13,510 INFO exited: player (exit status 0; not expected)
2018-01-09 22:44:22,526 INFO spawned: 'player' with pid 18362
2018-01-09 22:44:22,925 INFO exited: player (exit status 0; not expected)
2018-01-09 22:44:32,967 INFO spawned: 'player' with pid 18450
2018-01-09 22:44:33,713 INFO exited: player (exit status 0; not expected)
2018-01-09 22:44:34,715 INFO gave up: player entered FATAL state, too many start retries too quickly

Я также пытался использовать промежуточный сценарий оболочки для запуска основного приложения, но он также терпит неудачу, даже используя «exec» для запуска приложения.

К вашему сведению, это то, что у меня есть на «ps axe», когда я запускаю приложение вручную:

19121 pts/1    Sl+    0:00 /tmp/.mount_player5aT7Ib/app/player
19125 ?        Ssl    0:01 ./player-1.0.0-i386.AppImage
19141 pts/1    S+     0:00 /tmp/.mount_player5aT7Ib/app/player --type=zygote --no-sandbox
19162 pts/1    Sl+    0:00 /tmp/.mount_player5aT7Ib/app/player --type=gpu-process --no-sandbox --supports-dual-gpus=false --gpu-driver-bug-workarounds=7,23,
19168 pts/1    Sl+    0:01 /tmp/.mount_player5aT7Ib/app/player --type=renderer --no-sandbox --primordial-pipe-token=EE7AFB262A1393E7D97C54C3C42F901B --lang=1 

Я не могу найти ничего, связанного с форматом AppImage в документации Supervisor, есть ли в нем что-то особенное, и вы видите какой-нибудь обходной путь, чтобы заставить это работать?

Спасибо за вашу помощь


person gbarillot    schedule 10.01.2018    source источник


Ответы (1)


Я отказался от Supervisor и в итоге использовал God (на основе Ruby). Отлично работает с таким приложением.

person gbarillot    schedule 15.01.2018