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

PHPのコマンドライン+隠しファイルも含めたcpコマンド

超小ネタを2つほど phpにrオプションを入れるとPHPコードを実行できます。

cp コマンドですが、隠しファイルも含めてコピーしたい …

no image

docker-composeに関して

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

no image

ansible mysql,cronなど

Contents1 ansibleでのMySQlのインストール (CentOS6)2 ansibleのcronインストール3 任意のコマンド4 ansibleオプション ansibleでのMySQlの …

no image

ECCUBE2,3でのnginx利用

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

no image

PHP_CodeSnifferによるコードチェック

昨日の記事でphpmdという静的解析ツールを調査したんですが、それ以外にも規約にのっとっているかどうかコーディングをチェックできるツールはあります。 PHP_CodeSniffer https://g …