docs: 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()