解析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程序
Oct 09 PHP
表格展示无限级分类(PHP版)
Aug 21 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
Mar 04 PHP
php文件上传、下载和删除示例
Aug 28 PHP
几行代码轻松实现PHP文件打包下载zip
Mar 01 PHP
基于ThinkPHP实现的日历功能实例详解
Apr 15 PHP
关于php 高并发解决的一点思路
Apr 16 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
ThinkPHP 3使用OSS的方法
Jul 19 PHP
PHP RabbitMQ消息列队
May 11 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
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
php网页标题中文乱码的有效解决方法
2014/03/05 PHP
制作个性化的WordPress登陆界面的实例教程
2016/05/21 PHP
PHP封装的PDO数据库操作类实例
2017/06/21 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
yii2中关于加密解密的那些事儿
2018/06/12 PHP
IE 下的只读 innerHTML
2009/08/21 Javascript
event.X和event.clientX的区别分析
2011/10/06 Javascript
使用js判断当前时区TimeZone是否是夏令时
2014/02/23 Javascript
scrollWidth,clientWidth,offsetWidth的区别
2015/01/13 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
React进阶学习之组件的解耦之道
2017/08/07 Javascript
JS中offset和匀速动画详解
2018/02/06 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
python如何通过protobuf实现rpc
2016/03/06 Python
Python中断言Assertion的一些改进方案
2016/10/27 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
Python assert关键字原理及实例解析
2019/12/13 Python
Python中join()函数多种操作代码实例
2020/01/13 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
2020/12/07 Python
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
保护环境建议书100字
2014/05/13 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
作文评语集锦
2014/12/25 职场文书