我制作了一个 PHP 脚本,它读取一些数据并使用 pctnl_fork 启动一个新进程来处理数据。当子进程完成后,它们将作为进程保留。ps aux 向我显示了一个进程列表,例如
demo 32229 0.0 0.0 0 0 pts/0 Z 12:23 0:00 [php] <defunct>
demo 32251 0.0 0.0 0 0 pts/0 Z 11:50 0:00 [php] <defunct>
demo 32284 0.0 0.0 0 0 pts/0 Z 11:50 0:00 [php] <defunct>
demo 32298 0.0 0.0 0 0 pts/0 Z 12:56 0:00 [php] <defunct>
demo 32303 0.0 0.0 0 0 pts/0 Z 11:50 0:00 [php] <defunct>
demo 32316 0.0 0.0 0 0 pts/0 Z 12:23 0:00 [php] <defunct>
当父进程仍在创建新进程来完成某些工作时,我可以安全地终止这些进程吗?我知道我可能应该启动到 stderr 的命令管道(根据这个主题疯狂的 crond 行为。现在为时已晚,继续制作失效的 bash 进程。父进程在后台运行。