code: func (p *Daemon) Close() error {
  	p.lock.Lock()
  	defer p.lock.Unlock()
  
  	// If we're already stopped or never started, then no problem.
  	if p.stopped || p.process == nil {
  		p.stopped = true
  		return nil
  	}
  
  	// Note that we've stopped
  	p.stopped = true
  	close(p.stopCh)
  
  	return nil
  }
docs: // Close implements Proxy by stopping the run loop but not killing the process.
  // One Close is called, Stop has no effect.