Python unter Windows - Wie kann ich auf mehrere untergeordnete Prozesse warten?

Wie zu warten, bis mehrere Kind-Prozesse in Python unter Windows, ohne aktives warten (polling)? So etwas fast funktioniert bei mir:

proc1 = subprocess.Popen(['python','mytest.py'])
proc2 = subprocess.Popen(['python','mytest.py'])    
proc1.wait()
print "1 finished"
proc2.wait()
print "2 finished"

Das problem ist, dass wenn proc2 beendet, bevor proc1, der übergeordnete Prozess wird noch warten proc1. Unter Unix würde man mit waitpid(0) in einer Schleife, um die Kind-Prozesse " return-codes, wie Sie beenden - wie um etwas zu erreichen, wie dies in Python auf Windows?

Kommentar zu dem Problem - Öffnen
können Sie beschreiben, waitpid(0), die Sie verwenden würden, auf unix? Kommentarautor: Gregg Lind
docs.python.org/library/os.html#os.waitpid waitpid(0) auf unix-wartet (es sei denn, WNOHANG ist in der option) für jeden Kind-status und liefert (Prozess-id,status) - Tupel. Kommentarautor: Rafał Dowgird

InformationsquelleAutor der Frage Rafał Dowgird | 2008-09-19

Schreibe einen Kommentar