Hi, I'm querying a list of network servers for processes belonging to a specific user. The problem is that when I try to read the stdout from the subprocess it sometimes hangs. Not always though.
I thought maybe I needed to set unbufferered to true, so at the beginning of the code I set os.environ['PYTHONUNBUFFERED'] = '1' But I think it's more likely the subprocess that needs to be unbuffered. Here's the bit of code: --------------------------- for machine_name in self.alive:# a list of servers that responded to ping already. cmd = ["/bin/remsh", machine_name, 'ps -flu %s' % uid] finish = time.time() + 4.0 p = subprocess.Popen(cmd,stdout=subprocess.PIPE) while p.poll() is None: time.sleep(0.5) if finish < time.time(): p.kill() print 'skipping' # this works ok break s = '' if p: s = p.stdout.read() # trhis will hang occasionally if not s: continue --------------------------- Any ideas? comments on code welcome also. thanks, --Tim Arnold -- http://mail.python.org/mailman/listinfo/python-list