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中通过curl模拟登陆discuz论坛的实现代码
Feb 16 PHP
查找mysql字段中固定字符串并替换的几个方法
Sep 23 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 PHP
php+mysql实现简单的增删改查功能
Jul 13 PHP
php文件上传你必须知道的几点
Oct 20 PHP
Smarty模板简单配置与使用方法示例
May 23 PHP
PHP处理二进制数据的实现方法
Jun 13 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
PHP验证码类ValidateCode解析
Jan 07 PHP
ThinkPHP实现的rsa非对称加密类示例
May 29 PHP
PHP中str_split()函数的用法讲解
Apr 11 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
javascript操作css属性
2013/12/30 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
JavaScript模版引擎的基本实现方法浅析
2016/02/15 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
Vue.js实战之通过监听滚动事件实现动态锚点
2017/04/04 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
webpack3+React 的配置全解
2017/08/21 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
python 字符串split的用法分享
2013/03/23 Python
python的Template使用指南
2014/09/11 Python
Windows下安装python2.7及科学计算套装
2015/03/05 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
python使用多进程的实例详解
2018/09/19 Python
python绘制漏斗图步骤详解
2019/03/04 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
中学生学习生活的自我评价
2013/10/26 职场文书
跟单文员的岗位职责
2013/11/14 职场文书
设计师求职信
2014/07/01 职场文书
初中军训感想
2015/08/07 职场文书
利用python做数据拟合详情
2021/11/17 Python
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技
Python如何使用循环结构和分支结构
2022/04/13 Python