本家 [Supervisor](http://supervisord.org/) ## インストール ``` $ sudo apt-get install supervisor ``` ## Supervisorの設定 ログファイルが肥大化しないためにローテートの設定項目を加えておく ```bash sudo vi /etc/supervisord.conf [supervisord] logfile_maxbytes=50MB logfile_backups=5 を追加 ``` ## デーモンの作成 ```bash $ 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では反映されません。以下のようにします。 ```bash $ sudo supervisorctl reread test-server $ sudo supervisorctl update test-server $ sudo supervisorctl reload ``` ## supervisorの有効化 ```bash $ 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)