さまざまなサービスの監視役としてスーパーバイザード

さまざまなサービスの監視役としてスーパーバイザード

およびその他のサービスsupervisordのウォッチドッグとして設定しようとしました。目標は、サービスがクラッシュまたは停止した場合に自動的に再起動することです。tomcatredis

これがRedisとTomatの設定です

[program:redis]
command=sudo /etc/init.d/redis-server start
autostart=true
autorestart=true
stderr_logfile=/var/log/supervisour_redis.err.log
stdout_logfile=/var/log/supervisour_redis.out.log
logfile_maxbytes=10MB

[program:tomcat]
command=sudo /root/apache-tomcat-7.0.75/bin/startup.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/supervisour_tomcat.err.log
stdout_logfile=/var/log/supervisour_tomcat.out.log
logfile_maxbytes=10MB

しかし、サービスを完全に制御することはできません。を再起動するとsupervisor

root@test:~/apache-tomcat-7.0.75/bin# supervisorctl 
redis                            BACKOFF    Exited too quickly (process log may have details)
tomcat                           BACKOFF    Exited too quickly (process log may have details) 

スーパーバイザーで起動するとtomcatエラーが表示されます

supervisor> start tomcat
tomcat: ERROR (abnormal termination)

しかし、Tomcat は起動しています ( で確認しましたps aux | grep tomcat)。しかし、Tomcat を停止できません。Supervisorredisではサービスが停止していると表示されますが、実際には停止していません。

関連情報