位置: 编程技术 - 正文

PHP多进程编程之僵尸进程问题的理解(php多进程开发)

编辑:rootadmin

推荐整理分享PHP多进程编程之僵尸进程问题的理解(php多进程开发),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php多进程处理任务,php多进程写入文件,php多进程开发,php 多进程 多线程,php 多进程 多线程,php是多进程还是单进程,php是多进程还是单进程,php 多进程 多线程,内容如对您有帮助,希望把文章链接给更多的朋友!

PHP多进程编程之僵尸进程问题的理解

使用pcntl_fork函数可以让PHP实现多进程并发或者异步处理的效果: shutdown

2. 杀死该进程的父进程。

但是这两种方法都不行,因为这个程序的目的是监控常驻在服务器内,服务器不能关闭,并且父进程也不能被干掉。这时候我们看到了官方文档对于fork方法的解释:

原来有种方式可以防止进程成为僵尸进程,但是,官网给出的代码是这样子的:

PHP多进程编程之僵尸进程问题的理解(php多进程开发)

什么意思呢?就是父进程会等待子进程运行,等子进程运行结束之后,才会进行下一步,并且也会消除僵尸进程。但是这里又和我们的需求不符合了,我们的子进程为一个死循环的程序,不断的查找输出,更本没有结束的时候,并且我们需要的是异步处理而不是同步。但是这个方法可以用吗?其实当然可以。

在pcntl_wait的文档中是这么解释这个函数的:

wait函数刮起当前进程的执行直到一个子进程退出或接收到一个信号要求中断当前进程或调用一个信号处理函数。 如果一个子进程在调用此函数时已经退出(俗称僵尸进程),此函数立刻返回。子进程使用的所有系统资源将 被释放。关于wait在您系统上工作的详细规范请查看您系统的wait(2)手册。

我们发现,当这个函数发现子进程成为了僵尸进程就会释放僵尸进程的资源——前提是这个僵尸进程为这个父进程的子进程。那么我们就可以巧妙的利用这个方式让这些僵尸进程释放资源了,所以就有了如下代码:

这样我们先使用kill干掉这个进程,这个进程就不会再运行了,但是这个进程成为了僵尸进程,占用着资源,我们下一句就执行一次pcntl_wait()让这些僵尸进程释放资源,这样,子进程才真正的被终止了,僵尸进程被消除了。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP-X系列教程之内置函数的使用示例 前言本文主要给大家介绍关于PHP-X内置函数的使用,在PHP扩展开发中,会经常用到这些内置函数,PHP-X的封装,使得调用这些函数像PHP代码一样简单。对p

PHP实现统计所有字符在字符串中出现次数的方法 本文实例讲述了PHP实现统计所有字符在字符串中出现次数的方法。分享给大家供大家参考,具体如下:先来看看效果:算法:循环一次字符串(本例的$s

PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案 前言mcrypt扩展已经过时了大约年,并且用起来很复杂。因此它被废弃并且被OpenSSL所取代。从PHP7.2起它将被从核心代码中移除并且移到PECL中。PHP手册在7

标签: php多进程开发

本文链接地址:https://www.jiuchutong.com/biancheng/284192.html 转载请保留说明!

上一篇:浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑(php接收数据的方法)

下一篇:PHP-X系列教程之内置函数的使用示例(php的教程)

  • 所得税税前扣除项目及扣除标准
  • 外贸企业出口货物
  • 出口无报关单免税吗
  • 缴纳的增值税比账面的少怎么做账
  • 公司名称变更发票还能认证吗
  • 应税服务增值税抵免
  • 地产股权收购公司的账务处理
  • 返利平台可信吗
  • 消费税征收环节下划的影响
  • 企业员工福利费管理制度内容
  • 快递快件丢失
  • 营改增后建筑公司账务处理
  • 增值税税负率怎么算
  • 增值税专用发票和普通发票的区别
  • 发票清单太多怎么办理
  • 即征即退增值税政策
  • 小规模纳税人减免增值税会计处理
  • 91开头的税号是什么
  • 钢结构安装有哪些工种
  • 五年之内,企业可追补应扣支出
  • 公司向外单位借款摘要怎么写
  • 住房维修基金使用管理办法
  • 红字发票是否需要盖发票章
  • 企业报税提交清算了怎么撤销
  • 核定征收的企业可以享受税收优惠吗
  • 鸿蒙系统怎么关闭负一屏
  • XP系统,右下角本地连接图标消失的解决办法
  • win10excel闪退是什么原因
  • 企业补充养老保险
  • php数组函数实现机选双色球
  • imgrd.exe是什么
  • 库存现金盘亏处理前分录
  • an exit
  • 外出经营范围
  • 业务招待费税务筹划
  • icon图标教程
  • 通信原理简明
  • 常用激活函数及其导数
  • 个体生产经营所得优惠政策
  • 汽车上牌照的费用计入什么会计科目
  • 支付货款没有收据怎么办
  • 出差的车费计入什么科目
  • python slic
  • php安装不了
  • 减免申报明细表怎么填
  • 药店的主营业务类别怎么填
  • sql2005安装步骤
  • mysql客户端程序的功能是什么
  • mysql在表中添加一个新的属性
  • 公司报销金额有限制吗
  • 小规模进项是专票销项是普票可以抵扣吗
  • 信用减值损失在利润表怎么填列
  • 卖二手车怎么做账务处理
  • 接受捐赠的固定资产计入什么科目
  • 金蝶多核算项目怎么查一个项目下的其他项目
  • 材料采购办法
  • 事业单位无形资产摊销是当月还是下月
  • 金税盘买发票还要填交验旧表吗?
  • 增值税是否计入税金及附加
  • 会计做账手工帐
  • 提供劳务的收入计入什么科目
  • windows vista build
  • unix操作系统有何特点?
  • windows 安装源
  • 解决安全问题的有效途径
  • 王牌竞速 小米
  • win7打开文件夹都是独立的窗口
  • grep的结果 再次查找
  • win10qq经常卡
  • z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
  • 批处理应用实例
  • 基于javaweb的物流管理系统
  • AngularJs ng-change事件/指令的用法小结
  • Node.js中的全局对象有
  • vue alain
  • 套接字java
  • js怎么设置图片大小
  • 临沂市有哪些国企央企
  • 浅谈新时代劳动教育答案
  • 2020年个税截止时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设