この記事では、PHP で単一のバックグラウンド プロセスを作成する方法を主に紹介し、PHP の起動、作成、判断、停止などの関連操作テクニックを紹介します。必要な方は参考にしてください。
詳細は次のとおりです。次のステートメントを使用できます。 PHP バックグラウンド プロセスを開始します。
$command = " php script.php "; $pid = exec("nohup $command > /dev/null 2>&1 & echo $!");
nohup は、このプロセスが作成されたユーザーから独立しており、デーモン モードで実行できることを意味します。
このバックグラウンドプロセスをシングルトンとして実行する必要がある場合は、次のメソッドを使用してプロセスが実行されているかどうかを記録/判断できます
//query the database for process id $query = "SELECT pid FROM `daemons` WHERE `pid` = '2013' LIMIT 1"; $result = mysql_query($query); $pid = mysql_result($result, 0, 'pid'); //check if the process is running exec("ps $pid", $pState); if((count($pState) >= 2) && !empty($pid)) { echo "RUNNING"; } else { echo "INACTIVE"; }
また、pidをファイルに書き込むこともできますが、分散タスク環境では、データベースに置くことをお勧めします
バックグラウンドプロセスを停止します:
//check if the process from the database is running exec("ps $pid", $pState); if((count($pState) >= 2)) { //if the process is running, kill it exec("kill $pid"); //update database row with an empty process id }
関連する推奨事項:
PHP単一のケース パターンの使用方法の詳細な説明
PHPは多数のRedisライブラリ選択機能を実装単一ケースクラス(詳細説明)
phpはmongoDBを実装単一ケースパターン操作クラスの詳細手順
以上がPHPでシングルトンバックグラウンドプロセスを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。