PHPを使用して別のPHPプロセスを保護する例、別のPHPプロセスを保護する例
php を使用して、別の php プロセス (Apache モジュールや nginx などを実行しているプロセスを除く) を保護します
a.php は b.php を保護する必要があります
b.php で、getmypid() 関数を通じて現在のプロセスの ID を取得し、その ID を c.pid ファイルに書き込みます。プログラムの実行が完了したら、c.pid ファイルを削除またはクリアします。
a.php で、c.pid が存在するかどうかを確認し、空でない場合は、pid を読み出し、exec で ps -p pid|grep ファイル名を実行し、実行されているかどうかを確認します。 、対応する操作を実行します
なぜ ps aux|grep でファイル名を直接実行しないのかと疑問に思う人もいるかもしれませんが、ここでの主な理由は、ファイルの名前が重複している場合に発生する可能性がある問題を考慮するためです
a.php コード
コードをコピーします コードは次のとおりです:
$id=intval($argv[1]);
if(!file_exists('pid'.$id.'.pid')){
エコー「実行しない」;
終了します;
}
$content=file_get_contents('pid'.$id.'.pid');
if(空($content)){
エコー「実行しない」;
終了します;
}
exec("ps p ".$content.'|grep b.php',$pids);
if(count($pids)>0) echo(‘実行中’);
else{echo 'not run';}
?>
b.php コード
コードをコピーします コードは次のとおりです:
$id=intval($argv[1]);
if(空($id))終了;
file_put_contents('pid'.$id.'.pid',getmypid());
その間(1){
file_put_contents('pid'.$id.'.pid',getmypid());
睡眠(100);
}
?>
http://www.bkjia.com/PHPjc/958254.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/958254.html技術記事 php を使用して別の php プロセスを保護する例。別の php プロセスを保護するには、php を使用して別の php プロセス (Apache モジュールや nginx などを実行しているプロセスを除く) を保護します。a.php は b.p...
を保護する必要があります。