"lei yang" <yanglei.f...@gmail.com> wrote
def runForAWhile(cmd, secs=10): print("running %s" % cmd) timeout = datetime.timedelta(seconds=secs) print timeout proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True) status = proc.poll() You are still only checking status once outside the while loop. start = datetime.datetime.now() while (status is None and (datetime.datetime.now() - start) < timeout): #not timed out print proc.stdout.readline() #TODO timestamp? #print status #print datetime.datetime.now() - start
I see that "status" always "!=0“ why program is NOT exited
-- Alan Gauld Author of the Learn to Program web site http://www.alan-g.me.uk/ _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor