解析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经典的给图片加水印程序
Dec 06 PHP
ezSQL PHP数据库操作类库
May 16 PHP
PHP的autoload自动加载机制使用说明
Dec 28 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
ThinkPHP Mobile使用方法简明教程
Jun 18 PHP
PHP的cURL库简介及使用示例
Feb 06 PHP
PHP实现清除MySQL死连接的方法
Jul 23 PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 PHP
php实现评论回复删除功能
May 23 PHP
PHP判断json格式是否正确的实现代码
Sep 20 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
Jan 20 PHP
PHP strripos函数用法总结
Feb 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
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
JScript内置对象Array中元素的删除方法
2007/03/08 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
详解用Node.js实现Restful风格webservice
2017/09/29 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
浅谈Vue数据响应
2018/11/05 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
Python简单连接MongoDB数据库的方法
2016/03/15 Python
python多线程socket编程之多客户端接入
2017/09/12 Python
python3实现全角和半角字符转换的方法示例
2017/09/21 Python
Python callable()函数用法实例分析
2018/03/17 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
Paul’s Boutique官网:英国时尚手袋品牌
2018/03/31 全球购物
e路東瀛(JAPANiCAN)香港:日本旅游、日本酒店和温泉旅馆预订
2018/11/21 全球购物
亿阳信通股份有限公司笔试题(C#)
2016/03/04 面试题
会计专业毕业生自我评价
2013/09/25 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
2014年后备干部工作总结
2014/12/08 职场文书
高中班主任评语
2014/12/30 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP