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使用正则过滤js脚本代码实例
May 10 PHP
ThinkPHP分页实例
Oct 15 PHP
php防止网站被刷新的方法汇总
Dec 01 PHP
PHP正则获取页面所有图片地址
Mar 23 PHP
分享php多功能图片处理类
May 15 PHP
yum命令安装php7和相关扩展
Jul 04 PHP
简单实现php上传文件功能
Sep 21 PHP
PHP给前端返回一个JSON对象的实例讲解
May 31 PHP
yii2实现Ueditor百度编辑器的示例代码
Nov 02 PHP
php源码的使用方法讲解
Sep 26 PHP
Laravel 实现关系模型取出需要的字段
Oct 10 PHP
PHP控制循环操作的时间
Apr 01 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
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
php语言中使用json的技巧及json的实现代码详解
2015/10/27 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
JS控制表格隔行变色
2006/06/26 Javascript
插件:检测javascript的内存泄漏
2007/03/04 Javascript
基于Jquery的简单图片切换效果
2011/01/06 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
nodejs中实现sleep功能实例
2015/03/24 NodeJs
JS onkeypress兼容性写法详解
2016/04/27 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
2017/09/28 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
nodejs读取图片返回给浏览器显示
2019/07/25 NodeJs
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
Python类继承和多态原理解析
2020/02/05 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
python中取绝对值简单方法总结
2020/07/24 Python
MoviePy常用剪辑类及Python视频剪辑自动化
2020/12/18 Python
css3学习心得分享
2013/08/19 HTML / CSS
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
介绍一下Ruby的特点
2013/01/20 面试题
写给老婆的检讨书
2014/02/21 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
新课程改革心得体会
2016/01/22 职场文书
奖学金申请书(范文)
2019/08/14 职场文书
使用python向MongoDB插入时间字段的操作
2021/05/18 Python
36个正则表达式(开发效率提高80%)
2021/11/17 Javascript
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS