PHP实现多进程并行操作的详解(可做守护进程)


Posted in PHP onJune 18, 2013

如下所示:

/**
 * 入口函数
 * 将此文件保存为 ProcessOpera.php
 * 在terminal中运行 /usr/local/php/bin/php ProcessOpera.php &
 * 查看进程 ps aux|grep php
 */
ProcessOpera("runCode", array(), 8);/**
 * run Code
 */
function runCode($opt = array()) {
   //需要在守护进程中运行的代码
}
/**
 * $func为子进程执行具体事物的函数名称
 * $opt为$func的参数 数组形式
 * $pNum 为fork的子进程数量
 */
function ProcessOpera($func, $opts = array(), $pNum = 1) {
while(true) {
$pid = pcntl_fork();
if($pid == -1) {
exit("pid fork error");
}  
if($pid) {
static $execute = 0;
$execute++;
if($execute >= $pNum) {
pcntl_wait($status);
$execute--;
}  
} else {
while(true) {
//somecode
$func($opts);
sleep(1);
}  
exit(0);
}  
}  
}
PHP 相关文章推荐
php 什么是PEAR?(第二篇)
Mar 19 PHP
php 格式化数字的时候注意数字的范围
Apr 13 PHP
php学习笔记 [预定义数组(超全局数组)]
Jun 09 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
php session_start()出错原因分析及解决方法
Oct 28 PHP
php使用sql server验证连接数据库的方法
Dec 25 PHP
VPS中使用LNMP安装WordPress教程
Dec 28 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
Oct 27 PHP
PHP微信分享开发详解
Jan 14 PHP
PHP实现普通hash分布式算法简单示例
Aug 06 PHP
PHP常用函数之base64图片上传功能详解
Oct 21 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 26 PHP
解析php中static,const与define的使用区别
Jun 18 #PHP
解析htaccess伪静态的规则
Jun 18 #PHP
解析php中const与define的应用区别
Jun 18 #PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 #PHP
解析php中memcache的应用
Jun 18 #PHP
PHP实现的封装验证码类详解
Jun 18 #PHP
php empty()与isset()区别的详细介绍
Jun 17 #PHP
You might like
使用PHP接收POST数据,解析json数据
2013/06/28 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
PHP常量及变量区别原理详解
2020/08/14 PHP
PPK 谈 JavaScript 的 this 关键字 [翻译]
2009/09/29 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
2020/02/23 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
Python正规则表达式学习指南
2016/08/02 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
python通过实例讲解反射机制
2019/10/17 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
Python&&GDAL实现NDVI的计算方式
2020/01/09 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
Python自动发送和收取邮件的方法
2020/08/12 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
《菜园里》教学反思
2014/04/17 职场文书
公司前台接待岗位职责
2015/04/03 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
2019年手机市场的调研报告2篇
2019/10/10 职场文书
win10壁纸在哪个文件夹 win10桌面背景图片文件位置分享
2022/08/05 数码科技