docs: async def run(*cmd):
    """Run the given subprocess command in a coroutine.
  
    Args:
      *cmd: the command to run and its arguments.
  
    Returns:
      The output that the command wrote to stdout as a list of strings, one line
      per element (stderr output is piped to stdout).
  
    Raises:
      RuntimeError: if the command returns a non-zero result.
    """
  
    stdout = await checked_run(*cmd)
  
    log_path = os.path.join(FLAGS.base_dir, get_cmd_name(cmd) + '.log')
    with gfile.Open(log_path, 'a') as f:
      f.write(expand_cmd_str(cmd))
      f.write('\n')
      f.write(stdout)
      f.write('\n')
  
    # Split stdout into lines.
    return stdout.split('\n')