私は次のメソッドを使用して、Python で並列子プロセスを実装しています。
pool = multiprocessing.Pool(processes=4)
pool.map_async(my_parallel_func ....)
pool.close()
pool.join()
これらのタスクは数分間実行されます。pool.join()
そして、このブロッキング待機中にCtrl+を押しcてメイン スクリプトをキャンセルできないことに気付きました。Ctrl+を押すと、スタック プリントがc表示されます。プログラムは停止しませんが、ゾンビ プロセスになります。各サブプロセスを手動で強制終了する必要があります。
Ctrlプログラムを+cで終了させ、すべての子プロセスを同時に終了させるにはどうすればよいですか?