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

php を使用して別の php プロセスを保護する例、別の php プロセスを保護する_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:06:39
オリジナル
828 人が閲覧しました

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.comtru​​ehttp://www.bkjia.com/PHPjc/958254.html技術記事 php を使用して別の php プロセスを保護する例。別の php プロセスを保護するには、php を使用して別の php プロセス (Apache モジュールや nginx などを実行しているプロセスを除く) を保護します。a.php は b.p...
を保護する必要があります。
関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート