【发布时间】:2015-03-16 16:40:21
【问题描述】:
我有一个 python 脚本可以完成一些工作。我使用multiprocessing.Pool 让一些工人为我执行一些命令。
我的问题是当我尝试终止脚本时。当我按下 Ctrl-C 时,我希望每个工作人员立即清理其实验(这是一些自定义代码,甚至是子进程命令,而不仅仅是释放锁或内存)并停止。
我知道我可以用信号处理程序捕获 Ctrl-C。如何让multiprocessing.Pool 的所有当前正在运行的工作人员终止,仍然执行他们的清理命令?
Pool.terminate() 将无用,因为进程将在不清理的情况下终止。
【问题讨论】:
标签: python multiprocessing terminate