色尼玛亚洲综合影院,亚洲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命令行腳本單進程運行的方法,轉載需保留來源!

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

主站蜘蛛池模板: 祁东县| 青州市| 五台县| 开江县| 六安市| 黑山县| 合阳县| 定州市| 濮阳市| 淮安市| 闻喜县| 新邵县| 天水市| 昌邑市| 简阳市| 贡山| 北安市| 喜德县| 西宁市| 津南区| 丰台区| 安吉县| 临泉县| 盐山县| 洱源县| 乌恰县| 山阴县| 宜君县| 沭阳县| 多伦县| 田阳县| 慈溪市| 东乡族自治县| 若羌县| 梁平县| 手游| 泊头市| 新闻| 务川| 新民市| 赞皇县|