fix bug while use common user

master
兔子 4 years ago
parent bca0d42559
commit 6de9af62cc

@ -37,7 +37,10 @@ func FindProcess(compare func(Process) bool) (datas []Process, err error) {
} }
for _, v := range paths { for _, v := range paths {
if v.IsDir() && Exists("/proc/"+v.Name()+"/comm") { if v.IsDir() && Exists("/proc/"+v.Name()+"/comm") {
name, _ = readAsString("/proc/" + v.Name() + "/comm") name, err = readAsString("/proc/" + v.Name() + "/comm")
if err != nil {
continue
}
var tmp Process var tmp Process
tmp.LocalPath, err = os.Readlink("/proc/" + v.Name() + "/exe") tmp.LocalPath, err = os.Readlink("/proc/" + v.Name() + "/exe")
tmp.Path = tmp.LocalPath tmp.Path = tmp.LocalPath
@ -124,7 +127,13 @@ func FindProcessByPid(pid int64) (datas Process, err error) {
return return
} }
name, err = readAsString("/proc/" + fmt.Sprint(pid) + "/comm") name, err = readAsString("/proc/" + fmt.Sprint(pid) + "/comm")
if err != nil {
return err
}
main, err = readAsString("/proc/" + fmt.Sprint(pid) + "/status") main, err = readAsString("/proc/" + fmt.Sprint(pid) + "/status")
if err != nil {
return err
}
data := splitBy(main, ":") data := splitBy(main, ":")
datas.Name = strings.TrimSpace(name) datas.Name = strings.TrimSpace(name)
datas.Pid, _ = strconv.ParseInt(data["Pid"], 10, 64) datas.Pid, _ = strconv.ParseInt(data["Pid"], 10, 64)
@ -167,15 +176,9 @@ func FindProcessByPid(pid int64) (datas Process, err error) {
} }
datas.LocalPath, err = os.Readlink("/proc/" + fmt.Sprint(pid) + "/exe") datas.LocalPath, err = os.Readlink("/proc/" + fmt.Sprint(pid) + "/exe")
if err != nil {
return
}
datas.Path = datas.LocalPath datas.Path = datas.LocalPath
datas.LocalPath = filepath.Dir(datas.LocalPath) datas.LocalPath = filepath.Dir(datas.LocalPath)
datas.ExecPath, err = os.Readlink("/proc/" + fmt.Sprint(pid) + "/cwd") datas.ExecPath, err = os.Readlink("/proc/" + fmt.Sprint(pid) + "/cwd")
if err != nil {
return
}
main, err = readAsString("/proc/" + fmt.Sprint(pid) + "/stat") main, err = readAsString("/proc/" + fmt.Sprint(pid) + "/stat")
if err != nil { if err != nil {
return return

Loading…
Cancel
Save