I have an Electron App packaged using an AppImage format, on a Debian 8 box. I would like to monitor and restart this app using supervisord (v3.0) but I just can't understand why it doesn't work.
This is how I successfully launch my app, manually:
/home/player/player.AppImage
Worth nothing that this app is not daemonized. If you close the current shell, you also close the app, as it should for an app to be tracked by supervisor.
Now, this is how my .conf file for supervisor looks like:
[program:player]
command=/home/player/player.AppImage
user=player
autostart=true
autorestart=true
startretries=3
This is what supervisor returns on "supervisor start player":
player: ERROR (abnormal termination)
What's in the logs:
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
I also tried to use an intermediate shell script to start the main app but it also fails, even using "exec" to start the app.
FYI, this what I have on "ps ax" when I start the app manually:
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
I can't find anything related to the AppImage format in the Supervisor docs, is there anything special about it and do you see any workaround to make this to work?
Thanks for your help