时间:2021-05-26
本文实例讲述了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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
计划任务一、计划任务介绍:1、计划任务是用于定时执行指定php脚本的功能。2、增加计划任务的步骤:(1)、制作要执行的php脚本文件;(2)、后台增加计划任务,
抢票是并发执行多个进程可以访问同一个文件多个进程共享同一文件,我们可以把文件当数据库,用多个进程模拟多个人执行抢票任务db.txt{"count":1}并发运行
本文实例讲述了php计划任务之ignore_user_abort函数实现方法。分享给大家供大家参考。具体分析如下:PHP不会检测到用户是否已断开连接,直到尝试向
cron是什么cron的意思就是:计划任务,说白了就是定时任务。我和系统约个时间,你在几点几分几秒或者每隔几分钟跑一个任务(job),就那么简单。cron表达式
cron是什么cron的意思就是:计划任务,说白了就是定时任务。我和系统约个时间,你在几点几分几秒或者每隔几分钟跑一个任务(job),就那么简单。前言cron是