位置: 编程技术 - 正文

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

  • 企业增值税税负率怎么计算
  • 小企业如何做帐
  • 固定资产盘盈影响所有者权益吗
  • 金蝶入账流程
  • 预缴增值税项目编号填写错误怎么办
  • 组装机配件
  • 资产负债表各项目的填列依据是
  • 企业支付投资者股利属于什么引起的财务活动
  • 公司投资的股权财产怎么认定
  • 退休返聘人员被辞退未提前通知能要求多付一个月工资吗
  • 营改增后建筑行业税率
  • 总公司给分公司钱
  • 资本公积转增资本个人股东是否纳税
  • 垫付按揭保证金怎么做账
  • 无偿提供服务需要交增值税吗
  • 物流车辆挂靠账务怎么处理?
  • 非上市公司股权转让
  • 初级备考计划表
  • 没有进出口权可以做外贸吗
  • 增值税免税标准30万含不含税
  • 未立项进行建设
  • 增值使用费可取消吗?
  • 营业外支出的税额要进项转出吗
  • 出口货物做内销处理
  • 公司购消防器材会计分录
  • win11系统关闭防火墙怎么关
  • widows11预览版
  • php字符串赋值
  • 金银首饰零售业必须为一般纳税人吗
  • form表单使用
  • php处理数组的函数
  • php模板引擎有哪些
  • PHP jQuery+Ajax结合写批量删除功能
  • 败诉方承担诉讼费缴直接付给法院还是胜诉方
  • php使用正则表达式提取abcdef
  • 前端实现文件下载列表
  • 勒索软件,网络不稳定
  • chk命令
  • 一台设备可以分开开票吗
  • 做账计提是什么意思
  • 如何用python绘制
  • 职工教育经费税收金额怎么算
  • 开具增值税专用发票是什么意思
  • 什么人适合单干
  • sql中聚合函数的用法
  • 不含税单价和不含税合价的区别
  • MySQL数据库介绍
  • 成立业主委员会申请书
  • 吊车租赁有限公司
  • 公司注销前的资产负债
  • 经营活动的现金流量占全部现金流量的比重越大
  • 工作服入什么科目类别
  • 保险公司收车船税返还手续费犯罪
  • 库存现金是负数怎么调
  • w8远程桌面连接
  • 微软推出windows1
  • 如何使用easyscan
  • 两台苹果怎么用电脑把数据同步
  • win7进bios设置启动盘
  • win10开始菜单在哪
  • macos dock
  • fsav32.exe是什么进程 有什么作用 fsav32进程查询
  • pavfires.exe - pavfires是什么进程 有什么用
  • 装了linux后windows没有了
  • cocos设计模式
  • 用于播放html5视频文件的正确
  • 有哪些好用的linux
  • 关于cocos2dx空包的大小测试
  • cocos2dx 3.3 quick lua 实现返回键退出程序
  • unity3d总结
  • nodejs如何使用
  • jquery checkbox的相关操作总结
  • python从入门到精通百度云
  • jquery常见问题
  • jquery动态添加html代码
  • android事件处理方式有几种
  • 税务局上班吗今天
  • bpc什么时候进入中国
  • 党和国家为什么重视三农问题
  • 广州代理记账公司地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设