解析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 相关文章推荐
关于mysql 字段的那个点为是定界符
Jan 15 PHP
不错的一篇面向对象的PHP开发模式(简写版)
Mar 15 PHP
elgg 获取文件图标地址的方法
Mar 20 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
PHP实现手机归属地查询API接口实现代码
Aug 27 PHP
PHP连接Access数据库的方法小结
Jun 20 PHP
PHP身份证校验码计算方法
Aug 10 PHP
浅谈PHP面向对象之访问者模式+组合模式
May 22 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 PHP
详解PHP中mb_strpos的使用
Feb 04 PHP
在 Laravel 项目中使用 webpack-encore的方法
Jul 21 PHP
PHP如何通过date() 函数格式化显示时间
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的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
javascript测试题练习代码
2012/10/10 Javascript
jquery仿搜索自动联想功能代码
2014/05/23 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
js实现股票实时刷新数据案例
2017/05/14 Javascript
vue 项目build错误异常的解决方法
2019/04/22 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
在Django的视图(View)外使用Session的方法
2015/07/23 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
python3 打开外部程序及关闭的示例
2018/11/06 Python
对django2.0 关联表的必填on_delete参数的含义解析
2019/08/09 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
pyspark 随机森林的实现
2020/04/24 Python
详解Python中的文件操作
2021/01/14 Python
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
优秀员工自荐书范文
2013/12/08 职场文书
初中学生评语大全
2014/04/24 职场文书
就业意向协议书
2015/01/29 职场文书
捐款通知怎么写
2015/04/24 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
如何用JS实现网页瀑布流布局
2021/04/24 Javascript
Java输出Hello World完美过程解析
2021/06/13 Java/Android
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA