位置: 编程技术 - 正文

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的教程)

  • 以前年度遗留的个税怎么处理
  • 增值税应交税费科目
  • 城市维护建设税属于什么科目
  • 走逃发票怎么处理
  • 固定资产抵扣期限
  • 认缴制下收到股东转入的钱怎么入账
  • 不动产修理领用原材料账务处理?
  • 固定资产作为实收资本报废怎么处理
  • 2020退税时间超过了怎么办
  • 案例讲解:将自己的房产用于办公使用,在税收的缴纳中该如何把控?
  • 转让公司账本凭证都要移交吗
  • 广告公司怎样
  • 行政事业性收费计入什么科目
  • 银行呆帐坏账
  • 公司开业期间的费用入管理费用其他行吗
  • 借主营业务成本贷应付账款
  • 工程建设期间的借款利息
  • 以土地使用权投资入股的土地增值税
  • win10开始菜单失效如何解决
  • u启动怎么装机
  • windows 11预览版
  • 建筑业成本核算表格百度网盘
  • 长期股权投资引入新投资者账务处理
  • 艾草的功效与作用洗头
  • 如何安装wordpress图文教程
  • 建设项目的设计阶段分为
  • 商业企业积分赠商品如何计算企业所得税
  • 亏损销售怎么结转库存成本怎么计算
  • 企业销售货物收到价款5000元这笔经济业务属于
  • php ssl
  • Vue Admin Template关闭eslint校验,lintOnSave:false设置无效解决办法
  • php生成随机字母数字代码
  • 建安企业账务处理 工程施工
  • 亚伯拉罕湖中的树,加拿大艾伯塔 (© Coolbiere/Getty Images)
  • ech命令
  • 印花税应计入什么
  • css content \f041
  • 电子商业汇票线下清算流程
  • 公司间代收代付
  • 如何利用口诀记住那字
  • 计提的费用收到增值税专票
  • 现金日记账一般采用什么格式
  • 企业交房租没有发票能充费用吗
  • PostgreSQL教程(十):性能提升技巧
  • mysql 随机抽样
  • sql server查询语句大全讲解
  • 借款与报销流程设计
  • 申报无票收入后期开票要冲回要备案吗
  • 固定资产改良支出
  • 搬迁补偿款的会计分录
  • 结构性存款现金流量表流入里放在哪里
  • 建筑行业收到的工程转给项目经理成本票从哪来
  • 物业公司代收代付租金要开发票吗
  • 物流公司贷款
  • 老板从公司借款怎么处理
  • 土地需要摊销嘛?
  • 外购材料用于建筑工程会计分录
  • 水利建设税怎么做账
  • 为员工购买意外保险
  • 超出工资总额
  • 速动比率特别高的原因
  • mysql获取所有表的数据量
  • 在mysql中使用mysql workbench创建数据库
  • mysqlpid文件没有
  • ubuntu zed
  • sethook.exe - sethook进程是什么文件 有何作用
  • nfs网络安装
  • win10飞行模式开关是灰色的
  • I810 Graphics LINUX Driver的安装
  • cocos2dx4.0入门
  • ES6 javascript的异步操作实例详解
  • perl keys
  • node·js
  • php和js的区别和联系
  • python里的迭代器
  • python代码视频
  • 置顶怎么设置
  • python3.9爬取网页教程
  • 新能源车异地购车
  • 怎么查询购置税交了没有
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设