CLI から制御 (追加、開始、停止、削除) できるプロセス マネージャーを探しており、プログラムで制御できます。
使ってみたhttps://github.com/circus-tent/circusしかし、問題は、CLI から追加すると、サーバーの再起動後にプロセスが消えてしまうことです。そこで問題を報告しました。サーカステント私はまだSupervisordを試していませんが、同じ問題があるようです。https://github.com/mnaberez/supervisor_twiddler/issues/4。
CLI からデーモン プロセスを追加でき、構成ファイルに触れずに再起動後も変更が保持されるプロセス マネージャーはありますか? ありがとうございます。
私は Centos 7 を使用していますが、登録ユーザーごとに PHP CLI スクリプトをデーモン化したいと考えています。
申し訳ありませんが、どう説明すればもっとよくわかるかわかりません。無限ループのある PHP CLI スクリプトがあります。スクリプトは、新しい着信メッセージをリッスンするために実行されています。スクリプトは、たとえば、新しく登録されたユーザーで開始されphp listen.php --user_id=111
、ユーザーが削除されると停止されます。
答え1
私がこれにお勧めするパッケージは、daemontools
Dan Bernstein によるものです。
これは、システム全体のサービス監視とサービス管理を行うツールのコレクションです。サービスの開始と停止だけでなく、実行中のサービス デーモンも監視します。特に、pid ファイルを必要とせずにサービス デーモンに信号を送信するための信頼性の高いインターフェイスと、自動ログ ファイル ローテーションとディスク領域制限を備えたログ機能を提供します。
これはすべての要件を満たします。信頼性が非常に高く、一度セットアップして使い方を理解すれば、メンテナンスはほとんど必要ありません。システムに問題があっても、それはデーモンツールのせいではありません。
- すべての制御はコマンド ライン経由で行われます。
- システムの再起動時にデーモンも再起動されます。
- デーモンは CLI から停止、開始、停止、一時停止できます。
- さらに、各デーモンのログも処理します。
- 高速再起動(プログラムがすぐに終了した場合)を管理します。
このパッケージと基礎となる設計は堅牢です。ソース コードは何年も変更されていませんが、だまされないでください。正しいため、変更する必要がなかったのです。
私は個人的にこのパッケージを使用して、一度に 1 台のマシン上の数百のデーモン プロセスを確実に制御しました。
新しいクライアントの設定は簡単です。指定されたディレクトリに制御ファイルを置くだけで、介入しない限り、クライアントは自動的に起動し、永久に再起動されます。ファイルの形式がわかったら、テンプレートを作成するか、制御ファイルの作成をパラメータ化する方法を作成します。
最善の方法は、github の kteru から RPM ソース パッケージを取得し、そこから独自の RPM をビルドすることだと思います。ビルドは簡単ですが、RPM を使用するとシステムの管理と複製が容易になります。
ホームページとドキュメントは次の場所にあります。http://cr.yp.to/daemontools.html
CentOS 4-7 RPM ソース パッケージは github で入手できます。 https://github.com/kteru/daemontools-rpm
また、 というパッケージもあります。これは、 のライセンスや配布の制限の一部がなく、より柔軟なディレクトリ レイアウト ポリシーをrunit
持つ のブランチであると思われます。これは Debian リポジトリにありますが、CentOS についてはわかりません。daemontools
daemontools