我已经supervisord
安装在我的 Ubuntu 10.04 上,它连续运行一个 Java 进程,并且应该在它以某种方式死亡或崩溃时修复(重新加载)进程。
在我的身上,我向那个Java 进程htop
发送 SIGKILL、SIGTERM、SIGHUP、SIGSEGV 信号并监视文件,它说。/etc/logs/supervisord.log
08:09:46,182 INFO success: myprogram entered RUNNING state,[...]
08:38:10,043 INFO exited: myprogram (exit status 0; expected)
在08:38
我用 SIGSEGV 杀死进程。为什么它以代码 0 退出,为什么根本不supervisord
重新启动它?
我supervisord.conf
关于这个特定程序的所有内容如下:
[program:play-9000]
command=play run /var/www/myprogram/ --%%prod
stderr_logfile = /var/log/supervisord/myprogram-stderr.log
stdout_logfile = /var/log/supervisord/myprogram-stdout.log
当我启动 supervisord 时,进程工作得很好,但是没有得到治愈。
顺便说一句,任何想法如何将 supervisord 作为服务启动,以便在整个系统重新启动时自动启动?