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 相关文章推荐
mysql建立外键
Nov 25 PHP
asp和php下textarea提交大量数据发生丢失的解决方法
Jan 20 PHP
php adodb分页实现代码
Mar 19 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
php实现根据字符串生成对应数组的方法
Sep 22 PHP
ThinkPHP上使用多说评论插件的方法
Oct 31 PHP
php对象在内存中的存在形式分析
Feb 03 PHP
php实现的简单检验登陆类
Jun 18 PHP
php简单计算权重的方法示例【适合抽奖类应用】
Jun 10 PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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 数组遍历方法大全(foreach,list,each)
2010/06/30 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
javascript 的Document属性和方法集合
2010/01/25 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
AngularJS ui-router (嵌套路由)实例
2017/03/10 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
Android分包MultiDex策略详解
2017/10/30 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
python实现的自动发送消息功能详解
2019/08/15 Python
python DataFrame转dict字典过程详解
2019/12/26 Python
基于python3实现倒叙字符串
2020/02/18 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
Clarks其乐鞋荷兰官网:Clarks荷兰
2019/07/05 全球购物
幼儿园托班开学寄语
2014/01/18 职场文书
校园公益广告语
2014/03/13 职场文书
协议书与合同的区别
2014/04/18 职场文书
初中学生评语大全
2014/04/24 职场文书
十八大标语口号
2014/10/09 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python