多数のサブプロセスを作成するスクリプトを実行すると、Python に問題があるようです。サブプロセス作成コードは次のようになります。
コード:
def execute(cmd, stdout=None, stderr=subprocess.STDOUT, cwd=None):
proc = subprocess.Popen(cmd, shell=True, stdout=stdout, stderr=stderr, cwd=cwd)
atexit.register(lambda: __kill_proc(proc))
return proc
私が受け取っているエラーメッセージは次のとおりです。
OSError: [Errno 24] 開いているファイルが多すぎます
このエラーが発生すると、スクリプトを強制終了して再度開始するまで、それ以上サブプロセスを作成できません。次の行が責任を負う可能性があるかどうか疑問に思っています。
atexit.register(lambda: __kill_proc(proc))
この行がサブプロセスへの参照を作成し、スクリプトが終了するまで「ファイル」が開いたままになる可能性がありますか?