import multiprocessing import os import signal def handler(signum, frame): print('handler:', signum, frame) os._exit(128 + signum) print(signal.signal(signal.SIGTERM, handler)) def target_fn(x): return x for i in range(100): print('iteration:', i) with multiprocessing.Pool(3) as p: p.map(target_fn, range(3))