I Z*_*I Z 4 python terminate multiprocessing zombie-process
我有一些python多处理代码,父进程启动一堆子工作进程,然后在一段时间后终止它们:
from multiprocessing import Process
nWorkers = 10
curWorkers = []
for iw in range(nWorkers):
pq = Process(target=worker, args=(worker's_args_here))
pq.start()
curWorkers.append(pq)
# Do work here...
for pw in curWorkers:
pw.terminate()
Run Code Online (Sandbox Code Playgroud)
但是,子进程在终止后很长时间都显示为已停止运行.他们是僵尸进程吗?更重要的是,我应该如何终止它们以便它们真正消失?
尝试添加:
for pw in curWorkers:
pw.join()
Run Code Online (Sandbox Code Playgroud)
在末尾. .terminate()
只是杀了这个过程.在子进程完全消失之前,父进程仍然需要收获它(至少在Linux-y系统上).