https://superfastpython.com/shutdown-the-multiprocessing-pool-in-python/
最近遇到一个进程残留的问题,排查后发现multiprocessing.Pool()创建的进程,在程序中关闭的时候有概率残留。
如果在进程中去kill,有概率没杀完就把当前的进程给杀掉,依然会残留
然后改为terminate()方法去终止进程,发现这个方法只是发一个终止信号,还是有概率会残留
然后改为在terminate后,join一下,等待终止结果,效果会好一些。
但是直接terminate又有概率会阻塞当前进程,我猜大概是因为这个进程池已经sleep了,收不到terminate信号
最后参考这篇文章,我改为close就可以成功了