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 相关文章推荐
一些需要禁用的PHP危险函数(disable_functions)
Feb 23 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
zf框架的Filter过滤器使用示例
Mar 13 PHP
destoon找回管理员密码的方法
Jun 21 PHP
ThinkPHP之foreach标签使用概述
Jun 30 PHP
php检查字符串中是否包含7位GSM字符的方法
Mar 17 PHP
Thinkphp关闭缓存的方法
Jun 26 PHP
PHP实现C#山寨ArrayList的方法
Jul 16 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
Jul 29 PHP
CodeIgniter集成smarty的方法详解
May 26 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
如何用PHP实现多线程编程
May 26 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
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
PHP+jquery+ajax实现分页
2016/12/09 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
简单说明Python中的装饰器的用法
2015/04/24 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
Python多重继承的方法解析执行顺序实例分析
2018/05/26 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
python如何生成各种随机分布图
2018/08/27 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
YesStyle美国/全球:购买亚洲时装、美容化妆品和生活百货
2017/01/16 全球购物
System.Array.CopyTo()和System.Array.Clone()有什么区别
2016/06/20 面试题
群众路线教育实践活动的心得体会
2014/09/03 职场文书
公司收款委托书范本
2014/09/20 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
2014年终个人总结报告
2015/03/09 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
2015年除四害工作总结
2015/07/23 职场文书