code: func (r *Runner) storePid() error {
  	path := config.StringVal(r.config.PidFile)
  	if path == "" {
  		return nil
  	}
  
  	log.Printf("[INFO] creating pid file at %q", path)
  
  	f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0666)
  	if err != nil {
  		return fmt.Errorf("runner: could not open pid file: %s", err)
  	}
  	defer f.Close()
  
  	pid := os.Getpid()
  	_, err = f.WriteString(fmt.Sprintf("%d", pid))
  	if err != nil {
  		return fmt.Errorf("runner: could not write to pid file: %s", err)
  	}
  	return nil
  }
docs: // storePid is used to write out a PID file to disk.