Introduction In many VPS environments, it is often the case that you will have a number of small programs that you want to run persistently, whether these are small shell scripts, Node.js apps, or any large-sized packages. Usually, external packages are supplied with a unit file that allows them to be managed by an init system such as systemd, or packaged as docker images which can be managed by a
設定設定ファイルはsupervisord.confであり、その中にいくつかのセクションが存在する [supervisord]セクションsupervisordプロセスのグローバル変数を決定する [supervisord] logfile = /tmp/supervisord.log # supervisordプロセスのログが出力される logfile_maxbytes = 50MB logfile_backups=10 # ログローテーションのログの世代を決定する loglevel = info pidfile = /tmp/supervisord.pid nodaemon = false # trueにすると、デーモンでなくフォアグラウンドで実行する minfds = 1024 # supervisordが起動する前に必要とするファイルディスクリプタ数 minprocs = 200 uma
適当なスクリプトをデーモン化しようと思った時の典型的な要件が以下であるが、この記事でも紹介したpython製のプロセス管理ツールであるSupervisorを使うことによって解決できる。 プロセスの生死の監視する プロセスが死んだら勝手に再起動する 標準出力やエラー出力のログを取る 場合によっては複数プロセスを起動したい プロセスのステータスを簡単に確認したい この記事では、プロセス管理ツールSupervisorの導入を簡単に紹介する。 インストール easy_installからインストールできる。そもそもeasy_installが入ってない場合は以下みたいにインストール。 $ curl -O http://peak.telecommunity.com/dist/ez_setup.py $ python ez_setup.pySupervisorをeasy_installからインストールしま
Supervisorの操作は, supervisordコマンドではなくsupervisorctlコマンドで行います(supervisordは, 単にSupervisorそのものを立ち上げるコマンドになっています). supervisorctlを使ってコマンドを叩くことで, Supervisorそのものや, それが立ち上げている各種プロセスを操作することができます. この辺り, 割とゆるふわに使っていた部分があったのですが, そりゃイカンよなというわけで, 多少本気を出して調べてみることにしました. なお, 調査時に利用したSupervisorのバージョンは3.1.3です(記事投稿時の最新版). supervisorctlのコマンド一覧 supervisorctlから使うことが出来るコマンドは, supervisorctl helpでその一覧を確認することができます. # superviso
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く