MacOSx上的这个2.7 Python脚本不会关闭Python进程。脚本之后
运行有8个休眠这样的过程。如何在脚本结束时关闭它们?
*.terminate
无效。
import multiprocessing
newlist = range(1,30)
ULs = [row for row in newlist]
print ULs
def ULtask(ul):
print 1234
def start_process():
print 'Start', multiprocessing.current_process().name
p_size = multiprocessing.cpu_count() * 2
pool = multiprocessing.Pool(processes=p_size, initializer=start_process, maxtasksperchild=400,)
pool_outputs= pool.map(ULtask, ULs)
pool.close() # no more tasks
pool.join() # wrap up current tasks
# pool.terminate()
print 'Pool :', pool_outputs
del pool
print "Finished UL"
答案 0 :(得分:0)
尝试此帖子的最后一个提示(python multiprocessing pool terminate)。看起来它终止于收盘和收盘之间。加入电话。
我在我的机器上尝试了一个简单的池(mac osx),并且只需关闭&加入电话,但终止没有伤害任何东西。看起来join会在池关闭或终止时终止进程(如果你尝试在没有关闭的情况下加入或在它之前终止,你可以从错误消息中看到这一点。)