各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

php如何管理进程

管理员 2023-09-05
PHP
177

php如何管理进程

内容导读

收集整理的这篇技术教程文章主要介绍了php如何管理进程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1231字,纯文字阅读大概需要2分钟

内容图文

进程管理-防止进程成为僵尸进程

创建好了进程,那么怎么对子进程进行管理呢?

使用信号,对子进程的管理,一般有两种情况:(推荐学习:PHP编程从入门到精通)

posix_kill():此函数并不能顾名思义,它通过向子进程发送一个信号来操作子进程,在需要要时可以选择给子进程发送进程终止信号来终止子进程;

pcntl_waitpid():等待或返回fork的子进程状态,如果指定的子进程在此函数调用时已经退出(俗称僵尸进程),此函数将立刻返回,并释放子进程的所有系统资源,此进程可以避免子进程变成僵尸进程,造成系统资源浪费;

孤儿进程:父进程挂了,子进程被pid=1的init进程接管(wait/waitpid),直到子进程自身生命周期结束被系统回收资源和父进程 采取相关的回收操作

僵尸进程:子进程exit退出,父进程没有通过wait/waitpid获取子进程状态,子进程占用的进程号等描述资源符还存在,产生危害:例如进程号是有限的,无法释放进程号导致未来可能无进程号可用

**父进程中使用:pcntl_wait或者pcntl_waitpid的目的就是防止worker成为僵尸进程

作用:使用pcntl_wait()后,在子进程死掉后,父进程也会被停止**

最后我们通过下图来简单的总结和描述这个多进程实现的过程:

进程管理-进程间通信

队列:如Redis,推荐

socket:推荐

管道:实现复杂,且管道(pipe),使用文件形式存在,存在硬盘IO性能瓶颈

信号:承载信息量少,不好管理

进程管理-切换为守护进程

使用&实现

php deadloop.php &

以上就是php如何管理进程的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php如何管理进程全部内容,希望文章能够帮你解决php如何管理进程所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部