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