解析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 相关文章推荐
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
php DOS攻击实现代码(附如何防范)
May 29 PHP
Symfony页面的基本创建实例详解
Jan 26 PHP
php在数组中查找指定值的方法
Mar 17 PHP
php实现统计网站在线人数的方法
May 12 PHP
php实现QQ空间获取当前用户的用户名并生成图片
Jul 25 PHP
PHP内存使用情况如何获取
Oct 10 PHP
php中static 静态变量和普通变量的区别
Dec 01 PHP
thinkPHP简单调用函数与类库的方法
Mar 15 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
Aug 03 PHP
php语言注释,单行注释和多行注释
Jan 21 PHP
PhpSpreadsheet设置单元格常用操作汇总
Nov 13 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 session实现多级目录存放实现代码
2016/02/03 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
2019/04/08 PHP
php实现简易计算器
2020/08/28 PHP
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
使用JavaScript触发过渡效果的方法
2017/01/19 Javascript
JavaScript实现瀑布流图片效果
2017/06/30 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[01:27]2014DOTA2展望TI 剑指西雅图IG战队专访
2014/06/30 DOTA
django rest framework serializers序列化实例
2020/05/13 Python
浅谈django channels 路由误导
2020/05/28 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
几道PHP面试题
2013/04/14 面试题
求网格中的黑点分布
2013/11/06 面试题
给妈妈洗脚活动方案
2014/08/16 职场文书
企业年检委托书范本
2014/10/14 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
个人总结格式范文
2015/03/09 职场文书
小学教育见习总结
2015/06/23 职场文书
公司员工离职感言
2015/08/03 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
TS 类型兼容教程示例详解
2022/09/23 Javascript