2
我正在使用一个进程池。这种逻辑似乎一直工作到最近。为什么我不收割僵尸进程? (CentOS Linux,python)
pool = multiprocessing.Pool(processes = 2*multiprocessing.cpu_count())
for p in processArgs:
pool.apply_async(myFunc, p)
pool.close()
pool.join()
现在看来,这是在运行时,我结束了在倒闭状态的所有子进程和父进程似乎没有对一个事实,即解散过程进行pool.join()
但(基于a
)仍然存在,并且b
)关于接下来发生的逻辑看起来没有被执行的事实。
僵尸进程是僵尸,对不对?这意味着他们已经死亡,但还没有被收获,对吗?
[ps -el'说他们是僵尸吗?](https://www.debian-administration.org/article/261/Finding_zombie_processes)你确定池已经完成所有项目的执行吗? –
它确实表明它们是僵尸(Z存在)。 – vmayer
在执行pool.close()或pool.join()之前,我需要确保退出吗?说实话,我从一个例子中复制了这个逻辑,并假设游戏池在完成关闭之前已经完成了所有项目。 – vmayer