位置: 编程技术 - 正文

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

  • 唐朝的两税法是什么
  • 房开企业涉及哪些税种
  • 税金及附加与应交税费的差额
  • 开票地址一定要写全吗
  • 进口产品销售需要什么资质
  • 公司福利可以抵扣所得税吗
  • 公司团体体检的洽谈
  • 待认证进项税额认证以后怎么做分录
  • 承租方收到融资租赁款会计处理
  • 本月开的发票次月预缴如何做会计分录呢?
  • 机关和事业单位哪个好
  • 2018工资个税税率表
  • 社保补缴上月的在当月扣款
  • 跨行转账16万手续费多少
  • 小微企业不超过300万所得税
  • 河北省东光县是哪个城市
  • 往来账挂账
  • 个人转让怎么写
  • 检查所得税发现纳税差异如何调账?
  • 待摊费用报价变更的会计处理怎么做?
  • 收到专票有误,已跨月未认证,销售方不红冲咋办
  • 工商年报人数是12月人数吗
  • win11小组件加载内容出现错误
  • 存在标的资产的亏损合同,先进行减值
  • 判断技巧
  • openlayers加载geojson
  • php压缩包
  • mac补丁安装步骤
  • scsiaccess.exe - scsiaccess是什么进程 有什么用
  • 预收账款调增应纳税所得额
  • loadprofiles什么意思
  • win7家庭组怎么用
  • php数组求最大值
  • 什么的利息收入可免纳个人所得税
  • 小规模纳税人结转税金分录
  • ajax 返回
  • 我国的增值税是价外税消费税是价内税
  • 企业非流动资产占比多说明什么
  • 手把手教你用气焊视频
  • 非征期不能抄报
  • 国内旅客运输服务普票可以抵扣吗
  • 开发票零税率和免税是一样的意思吗
  • 采矿权如何进行融资
  • 转增资本属于什么会计科目
  • 增值税税点怎么算3个点
  • 研发企业所得税税率
  • 长期债权投资业务处理
  • 收到保证金怎么做会计分录明细
  • 减免增值税记账
  • 经营结余是指事业单位在本年度经营活动
  • 什么是叫资产负债表项目
  • 车辆置换差价账务处理
  • excel账务处理心得
  • 会计学中递延收益的概念
  • 桩基检测费一定要收吗
  • 以前年度损益这个科目
  • 季度盈利弥补以前年度亏损的账务处理
  • 工厂不开票怎么办
  • 应付账款的贷方等于预收账款的借方
  • 固定资产处置有净值怎么处理
  • 小规模需要进项税额吗
  • 公对公转账多久能到账
  • 微软宣布将AI引入Office套件
  • CentOS里/etc/sysconfig/clock内容解读
  • 添加到右键快捷方式
  • u盘装系统软件哪个好
  • linux系统中文件权限分为哪三种
  • ubuntu18.04网络
  • sqlmangr.exe - sqlmangr是什么进程 有什么用
  • windows8怎么新建word文档
  • js实现无缝轮播
  • 电脑windows自动关闭
  • javascript新手教程
  • unity 摄像机
  • python if none
  • ubuntu没有xauthority
  • js数组的push方法
  • jquerymobile实例网站
  • android混淆后怎么破解
  • 税务局2017年40号令
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设