Linux下实现PHP多进程的方法分享


Posted in PHP onAugust 16, 2012

PHP多进程:使用PHP的Process Control Functions(PCNTL/线程控制函数)
函数参考可见:http://www.php.net/manual/zh/ref.pcntl.php
只能用在Unix Like OS,Windows不可用。
编译php的时候,需要加上?enable-pcntl,且推荐仅仅在CLI模式运行,不要在WEB服务器环境运行。

以下为实现PHP多进程的简单测试代码:

<?php 
declare(ticks=1); 
$bWaitFlag = FALSE; /// 是否等待进程结束 
$intNum = 10; /// 进程总数 
$pids = array(); /// 进程PID数组 echo ("Start\n"); 
for($i = 0; $i < $intNum; $i++) { 
$pids[$i] = pcntl_fork();/// 产生子进程,而且从当前行之下开试运行代码,而且不继承父进程的数据信息 
if(!$pids[$i]) { 
// 子进程进程代码段_Start 
$str=""; 
sleep(5+$i); 
for ($j=0;$j<$i;$j++) {$str.="*";} 
echo "$i -> " . time() . " $str \n"; 
exit(); 
// 子进程进程代码段_End 
} 
} 
if ($bWaitFlag) 
{ 
for($i = 0; $i < $intNum; $i++) { 
pcntl_waitpid($pids[$i], $status, WUNTRACED); 
echo "wait $i -> " . time() . "\n"; 
} 
} 
echo ("End\n"); 
?>
PHP 相关文章推荐
搜索引擎技术核心揭密
Oct 09 PHP
PHP下几种删除目录的方法总结
Aug 19 PHP
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
Jun 21 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 PHP
通过curl模拟post和get方式提交的表单类
Apr 23 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
Jun 13 PHP
基于php的CMS中展示文章类实例分析
Jun 18 PHP
php数字每三位加逗号的功能函数
Oct 22 PHP
PHP如何将XML转成数组
Apr 04 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 PHP
php 中htmlentities导致中文无法查询问题
Sep 10 PHP
PHP基础知识回顾
Aug 16 #PHP
php开发文档 会员收费1期
Aug 14 #PHP
php适配器模式介绍
Aug 14 #PHP
PHP缓存技术的多种方法小结
Aug 14 #PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 #PHP
php调用dll的实例操作动画与代码分享
Aug 14 #PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 #PHP
You might like
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
jquery移动节点实例
2015/01/14 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
node.js操作mysql(增删改查)
2015/07/24 Javascript
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
微信小程序 教程之注册程序
2016/10/17 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
python strip()函数 介绍
2013/05/24 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
HTML5 video视频字幕的使用和制作方法
2018/05/03 HTML / CSS
《乡愁》教学反思
2014/02/18 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
考试作弊检讨书
2015/01/27 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS