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 高手之路(一)
Oct 09 PHP
PHP分多步骤填写发布信息的简单方法实例代码
Sep 23 PHP
php函数间的参数传递(值传递/引用传递)
Sep 23 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
ThinkPHP添加更新标签的方法
Dec 05 PHP
PHP中Http协议post请求参数
Nov 02 PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
May 21 PHP
CodeIgniter框架验证码类库文件与用法示例
Mar 18 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
php实现微信原生支付(扫码支付)功能
May 30 PHP
php实现算术验证码功能
Dec 05 PHP
laravel5.6中的外键约束示例
Oct 23 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程序实现支持页面后退的两种方法
2008/06/30 PHP
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
PHP中文编码小技巧
2014/12/25 PHP
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
jQuery $命名冲突解决方案汇总
2014/11/13 Javascript
浅析javascript 定时器
2014/12/23 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
jQuery实用技巧必备(上)
2015/11/02 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
Vue.js每天必学之Class与样式绑定
2016/09/05 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
Flask框架路由和视图用法实例分析
2019/11/07 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
PyQt5中QSpinBox计数器的实现
2021/01/18 Python
python数据抓取3种方法总结
2021/02/07 Python
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
通信工程毕业生求职信
2013/11/16 职场文书
个人自我评价分享
2013/12/20 职场文书
房屋转让协议书
2014/10/18 职场文书
市级三好学生评语
2014/12/29 职场文书
入党自传范文2015
2015/06/26 职场文书
日本读研:怎样写好一篇日本研究计划书?
2019/07/15 职场文书
MYSQL如何查看操作日志详解
2022/05/30 MySQL