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

Linuxコマンドでのテキスト整形 CSV系の処理など

以前、対テキストファイル系のLinuxコマンドの使い方を紹介しましたが、その関連エントリーを。 今回やるのはCSV系の処理ですね。 id name age 1  suzuki 35 2  tanaka …

no image

inotifyによる検知

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

no image

ECCUBE2,3でのnginx利用

ECCUBE2,3をインストールする機会があったのでメモ。 例によってnginxの設定がめんどいですね。・・ ファイルパス ECCUBE2,ECCUBE3ともに下記パス,URLと仮定します。 [cra …

no image

OSキャッシュの仕組み

大規模サービス技術入門のつづきです。 主にOSのキャッシュメモリについてです。 メモリとディスクの速度差は10万倍~100万倍 いかにディスクへのアクセスを減らすかがポイント OSは各プロセスにメモリ …

no image

Python+cgiでwebアプリを動かすまで

PythonでRESTAPI的なプログラムを作った時のメモ。 あまりCGIで実行する人がいないようで、情報がそこまでありませんでしたが、Perlでやった経験もあり、動かせました。 Contents1 …