fix bug while use common user
This commit is contained in:
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…
x
Reference in New Issue
Block a user