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 图片上添加透明度渐变的效果
Jun 29 PHP
php echo()和print()、require()和include()函数区别说明
Mar 27 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
3款值得推荐的微信开发开源框架
Oct 28 PHP
初识ThinkPHP控制器
Apr 07 PHP
CI框架的安全性分析
May 18 PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
laravel5使用freetds连接sql server的方法
Dec 07 PHP
PHP类的自动加载机制实现方法分析
Jan 10 PHP
PHP程序守护进程化实现方法详解
Jul 16 PHP
XAMPP升级PHP版本实现步骤解析
Sep 04 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 ajax数据传输和响应方法
2018/08/21 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
2020/10/28 PHP
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
js 走马灯简单实例
2013/11/21 Javascript
javascript事件模型介绍
2016/05/31 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
浅析上传头像示例及其注意事项
2016/12/14 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
ajax请求data遇到的问题分析
2018/01/18 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
javascript的this关键字详解
2019/05/20 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
2019/07/19 Javascript
[34:47]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第一场 11.18
2020/11/18 DOTA
python批量下载图片的三种方法
2013/04/22 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
基于python实现文件加密功能
2020/01/06 Python
python 实现字符串下标的输出功能
2020/02/13 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
你常见到的runtime exception
2016/09/05 面试题
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
卖房协议书
2014/04/11 职场文书
党的生日活动方案
2014/08/15 职场文书
研讨会通知
2015/04/27 职场文书
我是特种兵观后感
2015/06/11 职场文书
教师节表彰会主持词
2015/07/06 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android