位置: 编程技术 - 正文

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

  • 企业办理纳税手续需要带什么材料
  • 发票未到暂估账务处理
  • 一般纳税人建账建几本帐
  • 企业实际发生的公益性捐赠支出
  • 现金支付用什么科目
  • 典当行借贷属于民间借贷吗
  • 将资产货物用于业务宣传增值税
  • 购入无形资产产生的咨询费
  • 小企业发生销售折让的原因
  • 餐饮企业收到现金抵用券会计分录
  • 防伪税控维护费会计分录
  • 一个季度发票开超出9万
  • 成本票和费用票分别是什么
  • 保险公司联合举办活动
  • 外购机器设备
  • 个人所得税任职受雇信息有影响吗
  • 减免税金需要结转吗
  • 免抵退税额如何计算
  • 金税盘月末做哪些事情
  • 税务咨询费用
  • 冲减管理费用的情况
  • 融资租赁业务如何纳税
  • 贷款买车的利息是多少3年
  • mac电脑遇到问题而重新启动
  • php页面传值
  • wordpress文章缩略图
  • 前端解决方案
  • 公司收到供应商的律师函
  • 股东以债权出资,公司怎么处理
  • vue的iframe
  • .hpp是什么文件
  • 股票金融资产被称为
  • json对象和js对象
  • yii框架教程
  • 废旧物资经营单位增值税税率
  • php数组函数有哪些
  • canvas软件教程
  • 33.JavaScript映射与集合(Map、Set)数据类型基础知识介绍与使用
  • flex的作用及设置
  • 稚晖君的学历
  • 增值税减免附加税用计提吗
  • 水利建设专项收入的税率是多少?
  • 购买备用品会计分录
  • 织梦如何开启会员功能
  • 预付账款主要核算哪些内容
  • 赔偿支出需要纳税调整吗
  • 企业会计制度固定资产折旧年限
  • 农村土地征用补偿价格
  • 清算所得税计税基础
  • 高新企业研发收入占总收入比例怎么算
  • 怎么调整应收账款分录
  • 企业安装电子监控收费吗
  • sql server browser被禁用
  • mysql安装详细步骤
  • windows7个性化菜单
  • Mac Chrome打开HTTPS证书错误问题解决方法
  • macbook系统快捷键
  • 系统装在从盘
  • win10系统哪款好
  • win7系统回收站不见了怎么办
  • win8系统屏幕亮度调节
  • 3dmconfig.ini有什么用
  • javascript中的3种继承实现方法
  • samsung s3 gt-19300 开发 键盘回车事件
  • shell 脚本 判断
  • unity自带的代码编辑器
  • javascript要怎么学
  • linux内核讲解
  • 从最近两会看苹果和谷歌的最大梦魇
  • cocos2dx:C++层通过JniHelper调用JAVA层代码进而调用Android手机应用接口
  • unity导入设置在哪里
  • jquery实现点击按钮
  • python解决方案与程序有什么不同
  • jQuery插件封装时如要实现链式编程,需要
  • 2021年水利基金的税率是多少
  • 天津违规养犬的处罚依据
  • 江苏省地税局公众号关注
  • 中牟地税局电话
  • 江苏省纳税信息查询
  • 2021年福建医保什么时候交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设