色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

強制PHP命令行腳本單進程運行的方法

復制代碼 代碼如下:
 /**
  * 保證單進程
  *
  * @param string $processName 進程名
  * @param string $pidFile 進程文件路徑
  * @return boolean 是否繼續執行當前進程
  */
 function singleProcess($processName, $pidFile)
 {
  if (file_exists($pidFile) && $fp = @fopen($pidFile,"rb"))
  {
   flock($fp, LOCK_SH);
   $last_pid = fread($fp, filesize($pidFile));
   fclose($fp);

   if (!empty($last_pid))
   {
    $command = exec("/bin/ps -p $last_pid -o command=");

    if ($command == $processName)
    {
     return false;
    }
   }
  }

  $cur_pid = posix_getpid();

  if ($fp = @fopen($pidFile, "wb"))
  {
   fputs($fp, $cur_pid);
   ftruncate($fp, strlen($cur_pid));
   fclose($fp);

   return true;
  }
  else
  {
   return false;
  }
 }

 /**
  * 獲取當前進程對應的Command
  *
  * @return string 命令及其參數
  */
 function getCurrentCommand()
 {
  $pid     = posix_getpid();
  $command = exec("/bin/ps -p $pid -o command=");

  return $command;
 }

使用方法:
復制代碼 代碼如下:
if (singleProcess(getCurrentCommand(), 'path/to/script.pid'))
{
    // code goes here
}
else
{
 exit("Sorry, this script file has already been running .../n");
}

php技術強制PHP命令行腳本單進程運行的方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 沐川县| 广西| 肇庆市| 仁寿县| 鸡东县| 多伦县| 蒲城县| 苏州市| 盐边县| 化隆| 长宁区| 石首市| 潮州市| 镇雄县| 长武县| 金寨县| 太湖县| 乾安县| 普格县| 鸡西市| 平顶山市| 望谟县| 常州市| 沾化县| 梅州市| 西和县| 民丰县| 河曲县| 英超| 佛教| 呼图壁县| 晋州市| 琼结县| 云龙县| 临清市| 祁连县| 宁阳县| 新丰县| 大英县| 金塔县| 阜阳市|