解析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 相关文章推荐
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
Windows中安装Apache2和PHP4权威指南
Nov 18 PHP
一个自定义位数的php多用户计数器代码
Mar 11 PHP
改变Apache端口等配置修改方法
Jun 05 PHP
php cookie使用方法学习笔记分享
Nov 07 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
Jun 12 PHP
PHP浮点比较大小的方法
Feb 14 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
php 判断过去离现在几年的函数(实例代码)
Nov 15 PHP
thinkPHP实现的联动菜单功能详解
May 05 PHP
php表单处理操作
Nov 16 PHP
redis+php实现微博(一)注册与登录功能详解
Sep 23 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中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
XmlUtils JS操作XML工具类
2009/10/01 Javascript
让FireFox支持innerText的实现代码
2009/12/01 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
js实现音乐播放控制条
2017/09/09 Javascript
微信小程序视图template模板引用的实例详解
2017/09/20 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
js中数组对象去重的两种方法
2019/01/18 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
vue 修改 data 数据问题并实时显示操作
2020/09/07 Javascript
js实现鼠标滑动到某个div禁止滚动
2020/09/17 Javascript
详解Python装饰器由浅入深
2016/12/09 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
Python 元组操作总结
2019/09/18 Python
Flask框架搭建虚拟环境的步骤分析
2019/12/21 Python
python3 中时间戳、时间、日期的转换和加减操作
2020/07/14 Python
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
美国儿童服装、家具和玩具精品店:Maisonette
2019/11/24 全球购物
20岁生日感言
2014/01/13 职场文书
会计岗位说明书
2014/07/29 职场文书
七夕活动策划方案
2014/08/16 职场文书
博士生专家推荐信
2014/09/26 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python
golang为什么要统一错误处理
2022/04/03 Golang
MySQL数据库查询之多表查询总结
2022/08/05 MySQL