最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年04月15日 09:56:39   作者:  
本文介紹了一個強制PHP在單進程中執(zhí)行的函數(shù),多用在php命令行中和一些特殊需求的地方,需要的朋友可以參考下

復制代碼 代碼如下:

 /**
  * 保證單進程
  *
  * @param string $processName 進程名
  * @param string $pidFile 進程文件路徑
  * @return boolean 是否繼續(xù)執(zhí)行當前進程
  */
 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 命令及其參數(shù)
  */
 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的偽靜態(tài)模式

    開啟PHP的偽靜態(tài)模式

    偽靜態(tài)又名URL重寫,是動態(tài)的網(wǎng)址看起來像靜態(tài)的網(wǎng)址。換句話說就是,動態(tài)網(wǎng)頁通過重寫 URL 方法實現(xiàn)去掉動態(tài)網(wǎng)頁的參數(shù),但在實際的網(wǎng)頁目錄中并沒有必要實現(xiàn)存在重寫的頁面
    2015-12-12
  • Yii框架連表查詢操作示例

    Yii框架連表查詢操作示例

    這篇文章主要介紹了Yii框架連表查詢操作,結合實例形式分析了Yii框架連表查詢常用方法及相關使用技巧,需要的朋友可以參考下
    2019-09-09
  • PHP基于進程控制函數(shù)實現(xiàn)多線程

    PHP基于進程控制函數(shù)實現(xiàn)多線程

    這篇文章主要介紹了PHP基于進程控制函數(shù)實現(xiàn)多線程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • smarty模板中拼接字符串的方法

    smarty模板中拼接字符串的方法

    這篇文章主要介紹了smarty模板中拼接字符串的方法,需要的朋友可以參考下
    2014-02-02
  • PHP寫楊輝三角實例代碼

    PHP寫楊輝三角實例代碼

    PHP寫楊輝三角實例代碼,學習php算法的朋友可以參考下。
    2011-07-07
  • Yii框架的布局文件實例分析

    Yii框架的布局文件實例分析

    這篇文章主要介紹了Yii框架的布局文件,結合實例形式分析了Yii框架布局與視圖相關操作技巧,需要的朋友可以參考下
    2019-09-09
  • php微信公眾號開發(fā)之二級菜單

    php微信公眾號開發(fā)之二級菜單

    這篇文章主要為大家詳細介紹了php微信公眾號開發(fā)之二級菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Laravel 5框架學習之Blade 簡介

    Laravel 5框架學習之Blade 簡介

    本文給大家?guī)淼氖荓aravel5框架學習系列文章的第4篇,主要向大家簡單介紹下Blade,為什么要介紹它呢,因為laravel的模版引擎采用了blade模版引擎,so....
    2015-04-04
  • php下載excel無法打開的解決方法

    php下載excel無法打開的解決方法

    php下載excel后無法打開的解決方法和注意事項,大家參考使用吧
    2013-12-12
  • thinkPHP中volist標簽用法示例

    thinkPHP中volist標簽用法示例

    這篇文章主要介紹了thinkPHP中volist標簽用法,結合實例形式分析了thinkPHP中volist標簽的功能、屬性及相關使用技巧,需要的朋友可以參考下
    2016-12-12

最新評論

和硕县| 云安县| 临漳县| 都江堰市| 股票| 盘锦市| 依兰县| 佛山市| 文安县| 方正县| 泌阳县| 时尚| 宕昌县| 武威市| 温泉县| 陈巴尔虎旗| 伊通| 乌拉特中旗| 商河县| 黑山县| 石门县| 洛宁县| 富宁县| 和平区| 定兴县| 元阳县| 买车| 安溪县| 麻江县| 南丰县| 涿州市| 大悟县| 新干县| 商河县| 鄢陵县| 辉县市| 平遥县| 灵山县| 饶平县| 黄山市| 新巴尔虎左旗|