解析PHP实现多进程并行执行脚本


Posted in PHP onJune 18, 2013

由于php的进程是不支持多线程的,有些场景为了方便以及提高性能,可以用php实现多进程以弥补这个不足:

#!/usr/bin/env php
<?php
$cmds=array(
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php','mobile',1),
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php','mobile',2),
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php','click',1),
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php','click',2),
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php',1),
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php',2)
);
foreach($cmds as $cmd){
        $pid=pcntl_fork();
        if($pid==-1){ //进程创建失败
                die('fork child process failure!');
        }
        else if($pid){ //父进程处理逻辑
                pcntl_wait($status,WNOHANG);
        }
        else{ //子进程处理逻辑
                pcntl_exec('/usr/local/bin/php',$cmd);
        }
}

PHP 相关文章推荐
PHP 八种基本的数据类型小结
Jun 01 PHP
php中模拟POST传递数据的两种方法分享
Sep 16 PHP
基于Snoopy的PHP近似完美获取网站编码的代码
Oct 23 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
Jun 25 PHP
php 发送带附件邮件示例
Jan 23 PHP
php中return的用法实例分析
Feb 28 PHP
php获取远程文件的内容和大小
Nov 03 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 PHP
Laravel核心解读之异常处理的实践过程
Feb 24 PHP
php5与php7的区别点总结
Oct 11 PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 24 PHP
PHP实现多进程并行操作的详解(可做守护进程)
Jun 18 #PHP
解析php中static,const与define的使用区别
Jun 18 #PHP
解析htaccess伪静态的规则
Jun 18 #PHP
解析php中const与define的应用区别
Jun 18 #PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 #PHP
解析php中memcache的应用
Jun 18 #PHP
PHP实现的封装验证码类详解
Jun 18 #PHP
You might like
PHP下对数组进行排序的函数
2010/08/08 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
thinkPHP5.0框架事务处理操作简单示例
2018/09/07 PHP
JavaScript事件列表解说
2006/12/22 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
JS实现很酷的EMAIL地址添加功能实例
2015/02/28 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
JavaScript基础之this详解
2017/06/04 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
Vue递归实现树形菜单方法实例
2018/11/06 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
深入解析Python中的__builtins__内建对象
2016/06/21 Python
Python实现曲线点抽稀算法的示例
2017/10/12 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
python实践项目之监控当前联网状态详情
2019/05/23 Python
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
体育教师工作总结的自我评价
2013/10/10 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
网络编辑岗位职责范本
2014/02/10 职场文书
教学个人的自我评价分享
2014/02/16 职场文书
校园环保建议书
2014/05/14 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
工作岗位职责范本
2015/02/15 职场文书
停电放假通知
2015/04/14 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS