在 PHP 的编程实践中多进程通常都是在 cli 脚本的模式下使用,我依稀还记得在多年以前为了实现从数据库导出千万级别的数据,第一次在 PHP 脚本中采用了多进程编程。在此之前我从未接触过多进程,只知道 PHP-FPM 进程管理器是多进程模型,但从未在编程中进行实践。多进程虽然能带来效率上的提升,但依然会带来不少的问题,如果初学者使用多进程,那注定会遇到各种奇奇怪怪的 Bug 比如并发操作数据库引起死锁、共用内存变量资源造成串数据、忘记回收进程资源导致产生孤儿进程、僵尸进程等。反正如果我们长期都是 PHP-FPM 模式下编程的话,在使用多进程编程时需要慎之又慎,避免出现意想不到的问题。不过这次我想分享的内容是多进程模式下的孤儿进程和僵尸进程,通过示例代码来看看这两者进程是如何产生的,又应该如何解决,内容不难但是在实际的编程中是可能比较容易忽视的点。
聊聊 PHP 多进程模式下的孤儿进程和僵尸进程
未经允许不得转载:小狮博客 » 聊聊 PHP 多进程模式下的孤儿进程和僵尸进程