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 相关文章推荐
html中select语句读取mysql表中内容
Oct 09 PHP
PHP 反向排序和随机排序代码
Jun 30 PHP
linux下为php添加curl扩展的方法
Jul 29 PHP
PHP输入流php://input介绍
Sep 18 PHP
示例详解Laravel重置密码代码重构
Aug 10 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
Nov 05 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
Jun 07 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
Dec 01 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数据库类
2009/05/27 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
浅谈php的优缺点
2015/07/14 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
2015/12/22 PHP
关于JavaScript中string 的replace
2013/04/12 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
微信小程序 保留小数(toFixed)详细介绍
2016/11/16 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
vue使用iframe嵌入网页的示例代码
2020/06/09 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
[01:57]2018年度DOTA2最具潜力解说-完美盛典
2018/12/16 DOTA
Python中基础的socket编程实战攻略
2016/06/01 Python
Python MD5加密实例详解
2017/08/02 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
Python实现简单http服务器
2018/04/12 Python
python和opencv实现抠图
2018/07/18 Python
python对html过滤处理的方法
2018/10/21 Python
基于Django静态资源部署404的解决方法
2019/07/28 Python
Python内置加密模块用法解析
2019/11/25 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
HTML5 图片悬停放大的实现代码示例
2019/12/04 HTML / CSS
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
写求职信有哪些注意事项
2014/05/08 职场文书
导师推荐信范文
2014/05/09 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
酒店仓管员岗位职责
2015/04/01 职场文书
优秀班主任工作总结2015
2015/05/25 职场文书
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记