Python のマルチプロセッシング モジュールには、Pool http://docs.python.org/library/multiprocessing.html#module-multiprocessing.poolと呼ばれるものがあります。
プロセスのプールが動作している間、KeyboardInterrupt、つまり Ctrl + C を使用してスクリプトを終了させることができません。プールは新しいプロセスを生成し、抜け出す唯一の方法は ctrl + z に続いてそれらを手動で強制終了することです。
これをテストしようとしたスクリプトは次のとおりです。
import multiprocessing
import random
import time
def sometask(arg):
#do something nasty to arg
time.sleep(arg)
return random.randint(0,arg)
if __name__=="__main__":
pool = multiprocessing.Pool(processes=4)
print pool.map(sometask, range(10))
私のメイン スクリプトは、time.sleep() よりもはるかに時間がかかる処理を実行しようとします。テスト実行を試みるたびに、最初にプロセスの ID を見つけて手動で終了または強制終了する必要があります。産んだ。回避策を提案してください。