私はsupervisord
を私のUbuntu 10.04にインストールしています。それはJavaプロセスを連続して実行し、何らかの形で死んだりクラッシュしたときにプロセスを回復(リロード)する予定です。私htop
でスーパーバイザはプロセスを強制終了しません
私はそのJavaプロセスに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
がある:私はsupervisordを起動したとき
[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
プロセスは本当にうまく動作します、しかし、癒されません。
ところで、システム全体がリブートしたときに自動的に起動するようにスーパーバイザをサービスとして起動する方法はありますか?
非常に素晴らしい!私はこの 'autorestart'設定を探していました。私はそれがデフォルトで「真」であることを期待していました、そして、私はドキュメンテーションで迷ってしまいました。私は 'chkconfig'はプロセスをサービスにする必要があると思いますが、' supervisord'はサービスではないので、 'chkconfig -l'コマンドは私にとってうまくいかず、' supervisor:unrecognized service'と言います。あなたはそれについてどう思いますか? –
スーパーバイザはどのようにインストールしましたか? apt-getを使うと、少なくともUbuntu 10.04ではサービスとしてインストールされます。 –
10.04だったので、 'easy_install'を使ってインストールしたと思います。それに気づいてくれてありがとう。 –