From 5c39d4e3f3061fe36845b6182649699f7fd02509 Mon Sep 17 00:00:00 2001 From: Nex Date: Thu, 16 Mar 2017 18:10:01 +0100 Subject: [PATCH] Fixed up the code --- files/files.go | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/files/files.go b/files/files.go index d640ac4..acb591f 100644 --- a/files/files.go +++ b/files/files.go @@ -4,49 +4,51 @@ import ( "os" "os/exec" "strings" - "github.com/shirou/gopsutil/internal/common" + "strconv" + "github.com/botherder/gopsutil/internal/common" ) -func FindProcsByFile(file_path string) []int { +func FindProcsByFile(file_path string) ([]int, error) { if _, err := os.Stat(file_path); err != nil { - return []int, err + return []int{}, err } lsof_bin, err := exec.LookPath("lsof") if err != nil { - return []int, err + return []int{}, err } grep_bin, err := exec.LookPath("grep") if err != nil { - return []int, err + return []int{}, err } awk_bin, err := exec.LookPath("awk") if err != nil { - return []int, err + return []int{}, err } sort_bin, err := exec.LookPath("sort") if err != nil { - return []int, err + return []int{}, err } lsof := exec.Command(lsof_bin, file_path) - grep := exec.Command(grep, "-V", "COMMAND") + grep := exec.Command(grep_bin, "-v", "COMMAND") awk := exec.Command(awk_bin, "{print $2}") sort := exec.Command(sort_bin, "-u") output, _, err := common.Pipeline(lsof, grep, awk, sort) if err != nil { - return []int, err + return []int{}, err } - pids := strings.Split(output, "\n") - ret := []int + pids := strings.Split(string(output), "\n") + ret := []int{} for _, pid := range pids { if pid != "" { - ret = append(pids, int(pid)) + int_pid, _ := strconv.Atoi(pid) + ret = append(ret, int_pid) } } return ret, nil