php计划任务之验证是否有多个进程调用同一个job的方法


Posted in PHP onDecember 07, 2015

本文实例讲述了php计划任务之验证是否有多个进程调用同一个job的方法。分享给大家供大家参考,具体如下:

在使用计划任务的时候,公司有一次出现过2个进程跑同一个计划任务的情况,导致很多job都执行了2次,为了预防这种情况需要对linux的进程做一个限制,同一时间如果有进程在调用这个计划任务,那么就不允许另一个进程再进行调用了,下面是具体的代码。

// $pro 方法名字 
private function _verifyPsAux($pro)
{
  $arrProcess = array(
   $pro => "/usr/local/www/scrm/public/index.php /records/job/{$pro}"
  );
  $pidNumber = 0;
  foreach ($arrProcess as $key => $value) {
   exec("ps aux|grep '$key'", $return);
   $isRunning = false; // 指令未执行
   foreach ($return as $k => $v) {
    if(! strrpos($v, $value)) continue;
    // preg_match('/\d+:\d+ +\/usr/iu', $v, $match);
    // if (! isset($match[0])) continue;
    $isRunning = true;
    $pidNumber++;
   }
   // 如果当前进程存在,则终止
   if ($isRunning && $pidNumber > 1) {
    echo '[_' . date('Y-m-d H:i:s') . "_] 进程正在执行中\r\n";
    exit();
   }
  }
}

希望本文所述对大家php程序设计有所帮助。

PHP 相关文章推荐
php下载excel无法打开的解决方法
Dec 24 PHP
PHP代码优化的53个细节
Mar 03 PHP
php将图片保存入mysql数据库失败的解决方法
Dec 27 PHP
PHP上传文件时自动分配路径的方法
Jan 09 PHP
php中使用base HTTP验证的方法
Apr 20 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
Jan 08 PHP
PHP编程入门的基本语法知识点总结
Jan 26 PHP
PHP数组相加操作及与array_merge的区别浅析
Nov 26 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
Aug 31 PHP
php关联数组与索引数组及其显示方法
Mar 12 PHP
解决在Laravel 中处理OPTIONS请求的问题
Oct 11 PHP
php查看一个变量的占用内存的实例代码
Mar 29 PHP
学习php设计模式 php实现建造者模式
Dec 07 #PHP
学习php设计模式 php实现访问者模式(Visitor)
Dec 07 #PHP
PHP面向对象详解(三)
Dec 07 #PHP
php生成高清缩略图实例详解
Dec 07 #PHP
php冒泡排序与快速排序实例详解
Dec 07 #PHP
PHP常用工具类大全附全部代码下载
Dec 07 #PHP
PHP+ajax分页实例简析
Dec 07 #PHP
You might like
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
php 无限分类的树类代码
2009/12/03 PHP
PHP 最大运行时间 max_execution_time修改方法
2010/03/08 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
php获得用户ip地址的比较不错的方法
2014/02/08 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
如何用javascript去掉字符串里的所有空格
2007/02/08 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
vue实现搜索功能
2019/05/28 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
在python环境下运用kafka对数据进行实时传输的方法
2018/12/27 Python
详解Python odoo中嵌入html简单的分页功能
2019/05/29 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
python生成并处理uuid的实现方式
2020/03/03 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
酒吧总经理岗位职责
2013/12/10 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python