def _shutdown_proc ( p , timeout ) : freq = 10 # how often to check per second for _ in range ( 1 + timeout * freq ) : ret = p . poll ( ) if ret is not None : logging . info ( "Shutdown gracefully." ) return ret time . sleep ( 1 / freq ) logging . warning ( "Killing the process." ) p . kill ( ) return p . wait ( )
python time limit to kill the process
Wait for a proc to shut down then terminate or kill it after timeout .
def _shutdown_proc(p, timeout):
  """Wait for a proc to shut down, then terminate or kill it after `timeout`."""
  freq = 10  # how often to check per second
  for _ in range(1 + timeout * freq):
    ret = p.poll()
    if ret is not None:
      logging.info("Shutdown gracefully.")
      return ret
    time.sleep(1 / freq)
  logging.warning("Killing the process.")
  p.kill()
  return p.wait()