0

我在 Debian 8 盒子上使用 AppImage 格式打包了一个 Electron 应用程序。我想使用 supervisord (v3.0) 监控和重新启动这个应用程序,但我就是不明白为什么它不起作用。

这就是我手动成功启动我的应用程序的方式:

/home/player/player.AppImage

毫无价值的是这个应用程序没有被守护。如果您关闭当前 shell,您也会关闭应用程序,因为它应该由主管跟踪应用程序。

现在,这就是我的主管 .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

我还尝试使用中间 shell 脚本来启动主应用程序,但它也失败了,即使使用“exec”来启动应用程序也是如此。

仅供参考,当我手动启动应用程序时,这是我在“ps ax”上的内容:

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 

我在 Supervisor 文档中找不到与 AppImage 格式相关的任何内容,有什么特别之处吗?您是否看到任何解决方法可以使其正常工作?

谢谢你的帮助

4

1 回答 1

0

我放弃了 Supervisor 并最终使用了God(基于 Ruby)。与这种应用程序完美配合。

于 2018-01-15T09:40:47.980 回答