gpt4 book ai didi

python 多处理: why is process defunct after terminate?

转载 作者:太空狗 更新时间:2023-10-30 02:31:59 28 4
gpt4 key购买 nike

我有一些 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()

但是,子进程在终止后很久都显示为不存在。它们是僵尸进程吗?更重要的是,我应该如何终止它们,使它们真正消失?

最佳答案

尝试添加:

for pw in curWorkers:
pw.join()

最后。 .terminate() 只是终止进程。在子进程完全消失之前,父进程仍然需要获取它(至少在 Linux-y 系统上)。

关于 python 多处理: why is process defunct after terminate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20960740/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com