PHP Non-blocking child 以 parent 终止的进程

PHP Non-blocking child process that terminates with parent

环顾四周后,我还没有找到我认为很容易做的事情的答案。

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

我目前使用分离的 child 进程实现了此功能,并且运行良好......也就是说,直到 parent 崩溃。随着时间的推移,如果许多 parent 崩溃,那么一组未终止的 child 进程就会像一群愤怒的野蛮人一样在系统中横冲直撞。

我无法检查孤立的 child 进程是否已经 运行 并在启动 parent 之前终止它 - 可能还有其他 parent 进程 运行 他们自己的 children,不可能分辨哪个 parent 在使用哪个 child 哪个 child 是孤儿。

任何帮助将不胜感激!

根据 N.B. 的评论并不知道这是如何编码的,我对如何处理它的唯一建议是崩溃处理。它是否因抛出异常而崩溃,您可以在父 class 中或从管理父 class 的地方捕获。如果是这样,您可以从那里的异常处理程序关闭您的子进程吗?也许你应该仍然有某种句柄从那里到达子进程。