package procstat import ( "strings" ) // Pattern matches on the process name func (pg *NativeFinder) Pattern(pattern string) ([]PID, error) { var pids []PID procs, err := pg.FastProcessList() if err != nil { return pids, err } for _, p := range procs { name, err := p.Name() if err != nil { //skip, this can be caused by the pid no longer existing //or you having no permissions to access it continue } if strings.Contains(name, pattern) { pids = append(pids, PID(p.Pid)) } } return pids, err }