#
ドキュメント

Document

自分のための備忘録です。

Supervisor

役割

特定のアプリケーション(プロセス)をデーモン化をする。

systemd との違い

systemd はシステム全体の OS起動 サービス(プロセス)管理を統合的に行います。
Linux標準の init システムであり、Supervisor は特定のアプリケーションプロセスを監視・自動再起動するツールです。

公式サイト

Ref.

インストール

$ sudo apt install supervisor
$ supervisord -v
4.2.1

ステータス確認

$ sudo service supervisor status

管理対象を追加

/etc/supervisor/conf.d に追加したいアプリの設定ファイルを追加します。

例) ghsync

[program:ghsync]
command=/usr/local/bin/ghsync run
process_name=ghsync
numprocs=1
directory=/tmp
autostart=true
autorestart=true
startsecs=5
startretries=10
user=ubuntu
environment=HOME=/home/ubuntu
redirect_stderr=false
stdout_logfile=/var/log/supervisor/ghsync.out.log
stdout_capture_maxbytes=1MB
stderr_logfile=/var/log/supervisor/ghsync.error.log
stderr_capture_maxbytes=1MB

管理対象から削除

  1. /etc/supervisor/conf.d から設定ファイルを削除
  2. sudo systemctl restart supervisor.service