code: func isGo(pr ps.Process) (path, version string, agent, ok bool, err error) {
  	if pr.Pid() == 0 {
  		// ignore system process
  		return
  	}
  	path, err = pr.Path()
  	if err != nil {
  		return
  	}
  	var versionInfo goversion.Version
  	versionInfo, err = goversion.ReadExe(path)
  	if err != nil {
  		return
  	}
  	ok = true
  	version = versionInfo.Release
  	pidfile, err := internal.PIDFile(pr.Pid())
  	if err == nil {
  		_, err := os.Stat(pidfile)
  		agent = err == nil
  	}
  	return path, version, agent, ok, nil
  }
docs: // isGo looks up the runtime.buildVersion symbol
  // in the process' binary and determines if the process
  // if a Go process or not. If the process is a Go process,
  // it reports PID, binary name and full path of the binary.