I wonder if anyone has seen this behavior or can explain it to me.

I Popen a process and monitor its stdout using select, as follows.

     process = Popen(args,stdin=PIPE, stdout=PIPE, stderr=PIPE)
     while True:
         if not (process.returncode == None):
             print process.returncode
             break
         ready,_, _ = select.select([process.stdout, process.stderr], 
[], [], 5)
         if ready:
         for fd in ready:
             print fd.readline()

Now this works fine, in that it dumps out everything that the program  
can print, but when the exec'd program finishes executing, the select 
() call just hangs. The timeout on the select has no effect.

Ideas?

Thank you very much.

--Sriram
_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig

Reply via email to