skillup

技術ブログ

サーバー・ネットワーク

supervisorによるデーモン化

投稿日:

えー実務で任意のプログラムをデーモン化させて処理をするという実装があったのでメモ。

デーモンとは?

よく聞くデーモンですが、ものすごく簡単にいうと「常駐化させるプログラム」のことです。httpdなどのように一番最後はdをつけるのが一般的なようです。

参考リンク

デーモンとは

Supervisor

任意のプログラムをデーモン化させるソフトとしてはSupervisorというソフトが有名です。

Supervisorで簡単にデーモン化

インストール

pythonでも入るようですが、自分はyumで入れました。

CentOS6系

また設定ファイル(/etc/supervisord.conf)も見ていきましょう。

/var/wwww/html/hogehoge.phpを常駐させるプログラムだとします。

なおprogram:プログラム名の設定自体は/etc/supervisord.dのなかに入れる方が一般的かもしれません・・・(通常のapacheなどと同様の書き方です。)

設定ファイルに関しては下記を参考に。

DIARY Supervisor の始め方とポイント

Monitoring a PHP process example with Supervisor

なお下記のような項目も設定項目の中にありますが、webからの設定画面なので省いても構わないと思います。

実行プログラム

なお実行する側のプログラムは

  • ループ性がある
  • 単純なループだと負荷がかかるのでsleepなどを入れる

などすると良いと思います。

常駐対象のプログラム(上記例でいうと/var/www/html/hogehoge.php)

サービスの開始・停止・確認

この状態で

でスタートです。

ログをみて下記のようになって入ればOKです。

実行中にプロセスのステータスを確認すると下記のようになります。

ちなみに停止時は

で止まります。

-サーバー・ネットワーク
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

SSH鍵認証に関して

SSHの鍵認証についてやり方自体は流れ作業でできていましたが、根本的なところが理解していないので復習。 まずは通常の流れを。 1 クライアント(自分のPC)で公開鍵・秘密鍵を作成。[crayon-64 …

no image

docker-composeに関して

dockerで環境構築する場合は基本的に下記のような流れをとると思います。 それぞれの出来合いのイメージをpull イメージに様々なライブラリをインストール それらをコンテナとして起動&連携 …

no image

Dockerfileでのコンテナ作成

dockerは通常はimageを取得し、コンテナを起動した後、自分独自にライブラリなどをインストールし、出来たものをcommitしますが、Dockerfileをつかえばこの一連の操作をファイルに記録し …

no image

crontab 確認方法

crontabが動かないときに確認すること。 Contents1 cron自体が動いているか(下記コマンドでログを確認)2 実行権限が正しいか3 プログラム内部のファイルパスが絶対パスになっているか4 …

no image

inotifyによる検知

以前、pynotifyというpythonの検知プログラムを書きましたが、元々はinotifyというLinux上のパッケージのライブラリが元になっています。 以前調べたリンク 監視検知処理に関して 実務 …

アーカイブ