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

phpenv5.3+php-fpm

レガシーなプロジェクトではいまだにPHP5.3なんかを使うケースがあったりします。 これがCentOS6だったらyumでphp5.3とかだったらいいんですが、サーバーはCentOS7だったりするとなか …

no image

ECCUBE2,3でのnginx利用

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

no image

form以外でのPOST送信(というかHTTP通信全般)

前回の記事に引き続きですが、APIを叩く側はformでデータを送るのではなく、コードの中にPOSTする処理を書きます。 選択肢としては curlコマンドを使う file_get_contentsを使う …

no image

ログ抽出コマンド特集 その2 シェルスクリプトの算術計算、配列とループ

前回の続きですが、ログを収集し、分布(80%台が~%、70%台が~%)を出したいとします。 Contents1 ロジック2 ソース3 気づいたこと4 参考リンク ロジック ロジックは以下のような流れに …

no image

Vagarant+Eclipse(Perl)での作業環境構築

現在の案件でPerlの改修があるんですが、windowsだとモジュールの依存関係でうまくコンパイルできなかったりといろいろとトラブルが起こったんで、今はやりの仮想環境でやることに。 まだ完ぺきではない …

アーカイブ