Python 如何在pyhton中终止进程中的所有进程,但出现异常:多处理
如果进程中有异常,我想杀死所有进程。 这是试用代码Python 如何在pyhton中终止进程中的所有进程,但出现异常:多处理,python,exception,python-multiprocessing,Python,Exception,Python Multiprocessing,如果进程中有异常,我想杀死所有进程。 这是试用代码 import multiprocessing as mp; import time; def f(x): if x==1: raise Exception("job error"); time.sleep(x*0.2); print x; return x*x; if __name__ == '__main__': p = mp.Pool(processes=5); try: for i in [4,
import multiprocessing as mp;
import time;
def f(x):
if x==1:
raise Exception("job error");
time.sleep(x*0.2);
print x;
return x*x;
if __name__ == '__main__':
p = mp.Pool(processes=5);
try:
for i in [4,6,3,5,1]:
p.apply_async(f, (i,));
except Exception as e: # exception is not caught!
print "catch",e;
p.terminate();
p.close();
p.join();
但是,没有捕获异常。
如何捕获流程中的异常并终止所有流程?
我正在使用python 2.7。这是否回答了您的问题?检查这个,它不工作。只有在所有进程完成后,我才能捕获异常。我想做的是在出现第一个异常时立即终止所有进程。您可以尝试进行一轮工作,而不是使用预期