如何在pyhton中终止进程中的所有进程,但出现异常:多处理

2024-04-20 01:04:55 发布

您现在位置:Python中文网/ 问答频道 /正文

如果进程中有异常,我想杀死所有进程。 这是试用代码

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


Tags: 代码importiftime进程defasexception