ホームページ >バックエンド開発 >PHPチュートリアル >node.js - php スクリプトをデーモンとして実行し続けるにはどうすればよいですか?
swoole を使用してサーバーを作成しました。これをデーモンとしてサーバー上にハングし、継続的に実行する予定です。これにより、エラーにより予期せず終了した後、できるだけ早くスクリプトを再起動することができます。
swoole を使用してサーバーを作成しました。これをデーモンとしてサーバー上にハングし、継続的に実行する予定です。これにより、エラーにより予期せず終了した後、できるだけ早くスクリプトを再起動することができます。
Linux nohup コマンドは、この PHP スクリプトを実行し、このスクリプトの実行ステータスを監視するシェルを書き込みます。スクリプトが停止した場合は、スクリプトを再起動します。
while(1) などのループとしてスクリプトを記述するだけで、永久に実行できます。
このスクリプトヘッダー、この判定は、既にこのスクリプトの処理があればそのまま終了し、処理がなければ実行します
さらに、この PHP スクリプトを毎分実行するなど、Linux のスケジュールされたタスクを作成します。
スクリプトを一度実行すると、スケジュールされたタスクは実行され続けます。スクリプトが生きている場合は、直接終了し、実行が開始されます。
PHPスクリプトを書きます。メモリ使用量を定期的に確認し、コア ロジックを作成しないことをお勧めします。これはビジネスに関連しています。
リーリー
phpファイルのパスは/root/run.phpターミナルを開きます
リーリー
/root/monitor.sh リーリー
スケジュールされたタスクを追加します(毎分検出)リーリー
手作り
シンプルで信頼性の高いシェル スクリプトを使用して、突然終了する可能性のある PHP サービスを保護します
ブートコマンドを/etc/rc.local:
に追加します。 リーリー
swoole.sh の内容は次のとおりです:リーリー
その中には:リーリー
つまり、swoole.sh は、ディレクトリ /proc/PID が存在するかどうかを 1 秒ごとにチェックし、存在しない場合は、サービスが再起動され、swoole.log が記録されます。これはサービス自体の出力です。
たとえば、シェルを使用して vmstat を保護します:
この vmstat.sh スクリプトは PHP で実装することもできます:
リーリー1.crontab が存在する必要があります。存在するかどうかを 1 分ごとに確認し (ps -ef | grep..)、存在する場合は作成して実行します
2. 実行中のプロセスは無限にループする可能性があります。 .
3.crontab スクリプトは、常に実行されているプロセスのステータスを検出できます。問題がある場合、待機中、応答なし、またはその他の問題がある場合は、自分でプロセスを強制終了して再起動する必要があります。
Linux シェルの実行