溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php如何判斷l(xiāng)inux下程序問(wèn)題

發(fā)布時(shí)間:2021-09-02 14:00:32 來(lái)源:億速云 閱讀:152 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹php如何判斷l(xiāng)inux下程序問(wèn)題,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

具體如下:

有時(shí)候在服務(wù)器上面寫(xiě)一些腳本的時(shí)候,經(jīng)常要放到crontab里面定時(shí)運(yùn)行。時(shí)間長(zhǎng)了就有一個(gè)問(wèn)題,那就是程序重復(fù)運(yùn)行消耗太多的資源,怎么處理呢?下面璞玉寫(xiě)了兩種方法.

//第一種:用linux里面的正則匹配
function ifrun($clsname,$bf = 0)
{
  //下面進(jìn)行檢測(cè),如有一個(gè)進(jìn)程正在運(yùn)行,則不運(yùn)行
  $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; 
    }
  }
}
//調(diào)用:
if (ifrun('pooy',5))
{
  die("pooy is running");
}
//備注:pooy是程序pooy.php的名稱!
//第二種:把進(jìn)程寫(xiě)到文件里面,然后用file函數(shù)去讀取然后去匹配字符串
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],'www/pooy') !== FALSE) {
  //echo '"earth" not found in string';
   $count[]='no';
   break;
 }
}
if(count($count) >= 1 )
{
  echo "A same programs are running";
  exit();
}else
{
  echo "start__________________________________________________";
}
//注:"www/pooy" 是程序里面包含的字符串!
//現(xiàn)在php程序在linux運(yùn)行是否通暢多了呢?

以上是“php如何判斷l(xiāng)inux下程序問(wèn)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI