PHP以父级终止的非阻塞子进程

时间:2015-12-09 19:37:01

标签: php nonblocking child-process

看了一会儿之后,我还没有找到我认为简单的事情的答案。

我在PHP编码,我需要从父母开始一个子进程。子进程必须是非阻塞的:父进程应该能够在子进程在后台运行时继续进行处理。 (请注意,我不能使用进程分叉,因为父进程和子进程不是同一个进程。)一旦父进程完成处理或意外崩溃,子进程应该终止。

我目前使用分离的子进程实现了它,它运行得很好......也就是说,直到父进程崩溃。随着时间的推移,如果许多父母崩溃,一系列未经终结的儿童过程正在像一大群愤怒的野蛮人一样肆虐系统。

我无法检查孤立子进程是否已经运行并在启动父进程之前终止它 - 可能有其他父进程正在运行自己的子进程,并且无法确定哪个父进程正在使用哪个子进程哪个孩子是孤儿。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

接着来自N.B。的评论并且不知道这是如何编码的,我对如何处理它的唯一建议是来自崩溃处理。它是从抛出的异常中崩溃的,您可以在父类或父类的托管位置捕获它。如果是这样,那么你可以从那里的异常处理程序关闭你的子进程吗?你应该仍然有一些句柄可以从那里进入子进程,也许。