解析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上传文件时文件过大$_FILES为空的解决方法
Nov 26 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
php绘制一个矩形的方法
Jan 24 PHP
WampServer搭建php环境时遇到的问题汇总
Jul 23 PHP
详解PHP序列化反序列化的方法
Oct 27 PHP
yii2带搜索功能的下拉框实例详解
May 12 PHP
关于PHP文件的自动运行方法分析
May 13 PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 PHP
yii gridview实现时间段筛选功能
Aug 15 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
Sep 22 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
May 29 PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 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
一些花式咖啡的配方
2021/03/03 冲泡冲煮
一个显示天气预报的程序
2006/10/09 PHP
PHP教程 预定义变量
2009/10/23 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
微信小程序使用wxParse解析html的方法示例
2019/01/17 Javascript
inquirer.js一个用户与命令行交互的工具详解
2019/05/18 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
基于Django实现日志记录报错信息
2019/12/17 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
Python调用ffmpeg开源视频处理库,批量处理视频
2020/11/16 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
好的自荐信的要求
2013/10/30 职场文书
商务会议邀请函
2014/01/09 职场文书
写给爸爸的道歉信
2014/01/15 职场文书
会计学生自我鉴定
2014/02/06 职场文书
公司中秋节活动方案
2014/02/12 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
采购意向书范本
2014/03/31 职场文书
三方合作协议书范本
2014/04/18 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
delete in子查询不走索引问题分析
2022/07/07 MySQL