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 相关文章推荐
Smarty模板快速入门
Jan 04 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
Nov 10 PHP
基于empty函数的输出详解
Jun 17 PHP
php表单请求获得数据求和示例
May 15 PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 PHP
PHP两种去掉数组重复值的方法比较
Jun 19 PHP
php实现的Curl封装类Curl.class.php用法实例分析
Sep 25 PHP
PHP中PDO事务处理操作示例
May 02 PHP
PHP集成环境XAMPP的安装与配置
Nov 13 PHP
在Laravel中使用MongoDB的方法示例
Nov 11 PHP
Laravel登录失败次数限制的实现方法
Aug 26 PHP
php修改word的实例方法
Nov 17 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 获取MySQL数据库里所有表的实现代码
2011/07/13 PHP
php导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
jQuery自定义多选下拉框效果
2017/06/19 jQuery
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
vue实现点击出现操作弹出框的示例
2020/11/05 Javascript
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
python中turtle库的简单使用教程
2020/11/11 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
函授毕业自我鉴定
2013/12/19 职场文书
库房管理员岗位职责
2015/02/12 职场文书
销售经理工作检讨书
2015/02/19 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
导游词之镜泊湖
2019/12/09 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫