"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

Reply via email to