Супервизор не запускает убитые процессы

У меня есть supervisord , установленный на моем Ubuntu 10.04, и он постоянно запускает процесс 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 как службу, чтобы она автоматически запускалась при перезагрузке всей системы?

7
задан Martijn Pieters 24 October 2012 в 14:02
поделиться