On Sun, Dec 19, 2010 at 4:57 PM, Alan Gauld <[email protected]> wrote: > > "lei yang" <[email protected]> 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. >
Thanks, I make a stupid mistaking Lei > 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 - [email protected] > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - [email protected] To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
