Windows 7 cmd는 병렬 프로세스를 기다립니다.

Windows 7 cmd는 병렬 프로세스를 기다립니다.

Windows 7(및 10)에서 여러 Python 스크립트를 병렬로 실행하려고 합니다.
스크립트가 편집 중인 파일에 대해 더 많은 기능을 수행하는 다른 Python 스크립트에서 모두 실행하고 있습니다.
cmd에서 다른 스크립트 실행이 완료될 때까지 외부 스크립트가 대기하도록 하고 싶습니다.

나는 시도했다시작 / w하지만 이로 인해 cmd 창을 닫기 전에 각 스크립트가 대기하게 되었습니다.

본질적으로 내가 하고 싶은 것은 파이썬이 3개의 프로세스가 완료될 때까지 기다리는 것입니다. 마지막 스크립트는 단지인쇄("완료")그리고 내가 신경 쓰는 모든 것에 의미가 없습니다.
30개의 프로세스로 동일한 작업을 수행해야 하기 때문에 3개의 프로세스로 해결하는 것이 중요합니다(서버에는 사용 가능한 스레드가 충분합니다).

이것이 내가 실행하려는 cmd 명령입니다.

os.system("start python node1.py & start python node2.py & start python node3.py && start /w printstatement.py")

어떤 제안이 있나요?

답변1

네이티브 Python 모듈을 사용 subprocess하고스타코오버플로우지역 사회.

import subprocess;
procs = [subprocess.Popen(['python', 'node{}.py'.format(n)]) for n in range(1, 4)];
rets = [p.wait() for p in procs]

시간을 내주신 모든 분들께 감사드립니다.

관련 정보