ホームページ  >  記事  >  バックエンド開発  >  PHPでプログラムの実行状態を確認する手順の詳細な説明

PHPでプログラムの実行状態を確認する手順の詳細な説明

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-21 11:11:382481ブラウズ

今回は、PHP でプログラムの実行状況 を判断する手順について詳しく説明します。 PHP がプログラムの実行状況 を判断するための 注意事項 について、実際のケースを見てみましょう。見てください。

Linux システムでは、一部のスクリプトを実行する場合、定期的に実行するにはスクリプトを crontab に配置する必要があることがよくあります。
しばらくすると、プログラムの繰り返し実行によりリソースが過剰に消費されるという問題が発生します。

2 つのメソッドを作成しました:
最初のメソッド: 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;
        }
        else
        {
            return 0;
        }
    }
    else
    {
        if ($str>=2)
        {
           return 1;
        }
        else
        {
           return 0; 
        }
    }
}

呼び出し:

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<$total;$i++){
  $count=array();
   if(
stristr
($arr[$i],&#39;www/pooy&#39;) !== FALSE) {
  //echo &#39;"earth" not found in string&#39;;
      $count[]=&#39;no&#39;;
      break;
  }
}
if(count($count) >= 1 )
{
    echo "A same programs are running";
    exit();
}else
{
    echo "start";
}

を読み取って照合します。注: "www/pooy" はプログラムに含まれる文字列です!

Now PHPプログラムは Linux 上でよりスムーズに実行されます。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

array_combine() 配列マージ関数のユースケースの詳細な説明

array_search() 関数の要素値によってキー名を返す手順の詳細な説明

以上がPHPでプログラムの実行状態を確認する手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。