code: def wait_for(port_num, timeout):
      
      logger.debug("wait for {port_num}".format(**locals()))
      t_start = time.time()
      sleeps = 0.1
      while time.time() - t_start < timeout:
          try:
              s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
              try:
                  s.connect((_host(), port_num))
                  return True
              except (IOError, socket.error):
                  time.sleep(sleeps)
          finally:
              s.close()
      return False
docs: waits while process starts.
      Args:
          port_num    - port number
          timeout     - specify how long, in seconds, a command can take before times out.
      return True if process started, return False if not