Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Schritte zur Bestimmung des Programmlaufstatus in PHP

Detaillierte Erläuterung der Schritte zur Bestimmung des Programmlaufstatus in PHP

php中世界最好的语言
php中世界最好的语言Original
2018-05-21 11:11:382532Durchsuche

Dieses Mal werde ich Ihnen eine detaillierte Erklärung der Schritte geben, mit denen PHP den Ausführungsstatus eines Programms ermittelt und welche Vorsichtsmaßnahmen PHP zur Bestimmung des Ausführungsstatus hat Hier ist ein praktischer Fall, schauen wir uns das an.

In Linux-Systemen müssen einige Skripte beim Ausführen häufig in crontab abgelegt werden, damit sie regelmäßig ausgeführt werden können.
Nach längerer Zeit gibt es ein Problem, das heißt, das wiederholte Ausführen des Programms verbraucht zu viele Ressourcen.

Zwei Methoden geschrieben:
Die erste: Verwenden Sie den regulären Abgleich unter 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; 
        }
    }
}

, um Folgendes aufzurufen:

if (ifrun('pooy',5)) { die("pooy is running"); }

Hinweis: pooy ist der Name des Programms pooy.php!

Zweite Methode: Schreiben Sie den Prozess in die Datei und verwenden Sie dann die Dateifunktion, um die Zeichenfolge zu lesen und abzugleichen

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";
}

Hinweis: „www /pooy“ ist die im Programm enthaltene Zeichenfolge!

Jetzt läuft das PHP-Programm unter Linux viel reibungsloser.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Details zum Anwendungsfall der Array-Zusammenführungsfunktion array_combine()

Funktion array_search() gibt nach Elementwert zurück Ausführliche Erläuterung der wichtigsten Benennungsschritte

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zur Bestimmung des Programmlaufstatus in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn