Ubuntu 10.04にsupervisord
インストールしましたが、Javaプロセスを継続的に実行し、何らかの理由で停止またはクラッシュしたときにプロセスを修復(リロード)するはずです。
私のhtop
場合、SIGKILL、SIGTERM、SIGHUP、SIGSEGVシグナルをそのJavaプロセス/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 をサービスとして起動する方法はありますか?