一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 強制PHP命令行腳本單進程運行的方法

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

2020-06-23 13:25服務器之家 PHP教程

本文介紹了一個強制PHP在單進程中執行的函數,多用在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");
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 黑人异族日本人hd | 青青草国产一区二区三区 | 日本亚欧乱色视频在线观看 | 超级碰碰免费视频 | 99久久99热久久精品免费看 | 国产免费一区二区三区免费视频 | 乌克兰成人性色生活片 | 五月最新商场女厕所高跟嘘嘘 | 五月天视频网 | 亚洲 欧美 另类 中文 在线 | 99色在线视频 | 久久久亚洲国产精品主播 | 免费成年人在线视频 | 亚洲高清中文字幕一区二区三区 | 久久国产精品福利影集 | 欧美同志gaypronvideos | 黑人巨荃大战乌克兰美女 | 草啪啪| 性一交一无一伦一精一品 | 亚洲国产精品免费在线观看 | 欧美同性猛男野外gay免费 | 搓光美女衣| 五月天精品视频在线观看 | 97伊人久久精品亚洲午夜 | 和两个男人玩3p好爽视频 | 免费观看在线永久免费xx视频 | 海派甜心完整版在线观看 | 干露露视频 性感写真 | 亚洲性色永久网址 | 吃瓜视频在线观看 | 美女舒服好紧太爽了视频 | 桃乃木香奈作品在线 | 精品一区二区免费视频蜜桃网 | 滑进了柔佳火热紧夹的 | 欧美区一区 | 热门小说同人h改编h | 国产欧美一区二区成人影院 | 欧美日韩国内 | 国产成人精品第一区二区 | 天天草人人草 | 希岛爱理aⅴ在线中文字幕 午夜综合网 |