code: func (p *Process) Stop() error {
  	p.mtx.Lock()
  	defer p.mtx.Unlock()
  
  	if !p.running {
  		return ErrStopped
  	}
  	return p.stop()
  }
docs: // Stop attempts to gracefully stop the process. If the process cannot be
  // stopped gracefully then it is forcefully stopped. Returns an error if the
  // process is already stopped.