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 pcntl_fork和pcntl_fork 的用法
Apr 13 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
php Rename 更改文件、文件夹名称
May 24 PHP
php正则表达匹配中文问题分析小结
Mar 25 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
Jul 05 PHP
php生成图片验证码的实例讲解
Aug 03 PHP
php连接oracle数据库的方法(测试成功)
May 26 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 PHP
laravel 多图上传及图片的存储例子
Oct 14 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
BBS(php & mysql)完整版(三)
2006/10/09 PHP
图书管理程序(一)
2006/10/09 PHP
php mssql 数据库分页SQL语句
2008/12/16 PHP
php汉字转拼音的示例
2014/02/27 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
2015/11/11 PHP
PHP数组函数知识汇总
2016/05/12 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
在Laravel5中正确设置文件权限的方法
2019/05/22 PHP
php源码的安装方法和实例
2019/09/26 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
javascript 全等号运算符使用说明
2010/05/31 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
BootStrap modal模态弹窗使用小结
2016/10/26 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
axios中cookie跨域及相关配置示例详解
2017/12/20 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
用python制作游戏外挂
2018/01/04 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
应聘医药代表职位求职信
2013/10/21 职场文书
证婚人搞笑证婚词
2014/01/10 职场文书
秋季运动会表扬稿
2014/01/16 职场文书
人事专员的职责
2014/02/26 职场文书
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
学习党代会心得体会
2014/09/05 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL