subprocess hangs on reading stdout
Minesh Patel
minesh at gmail.com
Thu Oct 15 01:10:28 EDT 2009
>
> Any ideas? comments on code welcome also.
Here's something that I would probably do, there may be better ways.
This only works on python2.6 for the terminate() method.
import signal
import subprocess
def timeout_handler(signum, frame):
print "About to kill process"
p.terminate()
for machine_name in self.alive:
cmd = ["/bin/remsh", machine_name, 'ps -flu %s' % uid]
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(1)
p = subprocess.Popen(cmd,stdout=subprocess.PIPE)
(stdout, stderr) = p.communicate()
signal.alarm(0)
if stdout:
print stdout
elif stderr:
print stderr
--
Thanks,
--Minesh
More information about the Python-list
mailing list