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 相关文章推荐
phpmyadmin的#1251问题
Nov 25 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
MySQL的FIND_IN_SET函数使用方法分享
Mar 27 PHP
十幅图告诉你什么是PHP引用
Feb 22 PHP
WordPress自定义时间显示格式
Mar 27 PHP
php.ini中的request_order推荐设置
May 10 PHP
php获取远程文件内容的函数
Nov 02 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
PHP环形链表实现方法示例
Sep 15 PHP
php curl优化下载微信头像的方法总结
Sep 07 PHP
关于Curl在Swoole协程中的解决方案详析
Sep 12 PHP
PHP基于openssl实现非对称加密代码实例
Jun 19 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+mysqli实现批量替换数据库表前缀的方法
2014/12/29 PHP
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
php实现读取内存顺序号
2015/03/29 PHP
PHP编程获取各个时间段具体时间的方法
2017/05/26 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
2015/09/14 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
详解Python中的条件判断语句
2015/05/14 Python
详解如何使用Python编写vim插件
2017/11/28 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
python代理工具mitmproxy使用指南
2019/07/04 Python
python统计文章中单词出现次数实例
2020/02/27 Python
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
Fabletics官网:美国运动服饰品牌,由好莱坞女演员凯特·哈德森创立
2019/10/19 全球购物
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
怎样写留学自荐信
2013/11/11 职场文书
高中生自我评语大全
2014/01/19 职场文书
违反校纪校规检讨书
2014/02/15 职场文书
教师演讲稿大全
2014/05/16 职场文书
创意婚礼策划方案
2014/05/18 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书
中英文求职信范文
2015/03/19 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
入党培养人考察意见
2015/06/08 职场文书
六年级作文之自救
2019/12/19 职场文书
Opencv实现二维直方图的计算及绘制
2021/07/21 Python