ホームページ > バックエンド開発 > PHPチュートリアル > PHPでシングルトンバックグラウンドプロセスを作成する方法

PHPでシングルトンバックグラウンドプロセスを作成する方法

墨辰丷
リリース: 2023-03-27 11:46:01
オリジナル
1470 人が閲覧しました

この記事では、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 サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート