¿Cómo se esperan procesos secundarios múltiples en Python en Windows, sin espera activa (sondeo)? Algo como esto casi funciona para mí:Python en Windows: ¿cómo esperar varios procesos secundarios?
proc1 = subprocess.Popen(['python','mytest.py'])
proc2 = subprocess.Popen(['python','mytest.py'])
proc1.wait()
print "1 finished"
proc2.wait()
print "2 finished"
El problema es que cuando proc2
acabados antes de proc1
, el proceso padre se sigue esperar a proc1
. En Unix se usaría waitpid(0)
en un bucle para obtener los códigos de retorno de los procesos secundarios a medida que finalizan. ¿Cómo lograr algo como esto en Python en Windows?
puede describir el waitpid (0) tendrá que utilizar en UNIX? –
http://docs.python.org/library/os.html#os.waitpid 'waitpid (0)' en Unix espera (a menos que 'WNOHANG' esté en la opción) para cualquier estado hijo disponible y devuelve' (processid , estado) 'tupla. –