ホームページ >バックエンド開発 >PHPチュートリアル >php を使用して別の php を保護する例 process_PHP チュートリアル

php を使用して別の php を保護する例 process_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:06:38723ブラウズ

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/958131.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/958131.html技術記事 php を使用して別の php プロセスを保護する例: php を使用して、別の php プロセス (Apache モジュールや nginx などを実行しているものを除く) を保護します。 a.php は b.php を保護する必要があります。 b.php では、getmy..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。