本家 Supervisor
$ sudo apt-get install supervisor
ログファイルが肥大化しないためにローテートの設定項目を加えておく
sudo vi /etc/supervisord.conf [supervisord] logfile_maxbytes=50MB logfile_backups=5 を追加
$ sudo vi /etc/supervisor/conf.d/YOUR_DAEMON.conf [program:your_daemon] directory=/opt/soracom command=sh /opt/soracom/connect_air.sh redirect_stderr=true ; エラー出力を標準出力にリダイレクトする stdout_logfile=/var/log/your_daemon/your_daemon.log (任意) user=root autostart=true ; supervisorが起動したら自動的に起動する autorestart=true ; 落ちても自動的に再起動する stdout_logfile_maxbytes=50MB stdout_logfile_backups=5
restartでは反映されません。以下のようにします。
$ sudo supervisorctl reread test-server $ sudo supervisorctl update test-server $ sudo supervisorctl reload
$ sudo supervisorctl reread soracom: available $ sudo supervisorctl add soracom 再起動 $ supervisorctl restart all $ supervisorctl restart hubot # プロセスを指定 ステータス $ sudo supervisorctl status ログを観る $ sudo tail /var/log/supervisor/soracom.log $ supervisorctl tail -f soracom
(注意) Supervisorをインストールしただけでは、「Supervisor」自体は自動起動しない。と記事にはあるが、特になにもしなくても自動で起動している(2017/10/14)