code: func (m *Command) Close() error {
  	defer close(m.done)
  	eg := errgroup.Group{}
  	eg.Go(m.Handler.Close)
  	eg.Go(m.Server.Close)
  	if m.gossipMemberSet != nil {
  		eg.Go(m.gossipMemberSet.Close)
  	}
  	if closer, ok := m.logOutput.(io.Closer); ok {
  		// If closer is os.Stdout or os.Stderr, don't close it.
  		if closer != os.Stdout && closer != os.Stderr {
  			eg.Go(closer.Close)
  		}
  	}
  
  	err := eg.Wait()
  	return errors.Wrap(err, "closing everything")
  }
docs: // Close shuts down the server.