サーバー上でスクリプトを作成する場合、定期的に実行するために crontab にスクリプトを入れる必要がある場合があります。時間が経つと、プログラムを繰り返し実行するとリソースが過剰に消費されるという問題が発生します。以下に 2 つのメソッドを書きました:
1つ目: Linuxで通常のマッチングを使用する
コードをコピーする コードは次のとおりです:
function ifrun($clsname,$bf = 0)
{
//以下がある場合は確認してください実行中のプロセスです 実行中の場合は実行されません
$str=shell_exec("/bin/ps ax > /home/root/".$clsname."_run.txt");
$str=shell_exec( "/bin/grep -c ' ".$clsname.".php' /home/root/".$clsname."_run.txt");
if($bf >0)
{
if($ str >=$bf)
{
return 1; {
}
}
}
電話:
コードをコピーします
コードは次のとおりです:
if (ifrun('pooy',5)) { die("pooy is running");
注釈: pooy はプログラム pooy.php の名前です。
2番目の方法: プロセスをファイルに書き込み、ファイル関数を使用して文字列を読み取って照合します
コードをコピーします
コードは次のとおりです:system('ps -ef |grep wget > ; / root/pooy.txt');
$arr=file('/root/pooy.txt');
$total=count($arr);
for($i=0;$i $count=array();
if(stristr($arr[$i],'www/pooy') !== FALSE) { //echo '"earth" が文字列内に見つかりません';
$ count[]='no';
Break;
}
}if(count($count) >= 1 ){ echo "同じプログラムが実行されています";
exit();
}else
{
echo "start____________________________________________";
}
注: "www/pooy" はプログラムに含まれる文字列です!
PHP プログラムは Linux 上でよりスムーズに実行できるようになりましたか?
http://www.bkjia.com/PHPjc/764615.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/764615.html
技術記事
サーバー上でスクリプトを作成する場合、定期的に実行するために crontab にスクリプトを配置する必要がある場合があります。長い時間が経つと、問題が発生します。つまり、プログラムを繰り返し実行すると、リソースが大量に消費されます。