62,614
社区成员
发帖
与我相关
我的任务
分享
public static ProcessInfo getProcessInfo(long pid) {
ProcessInfo pi = new ProcessInfo();
// 通过Pid获取进信息
Sigar sigar = new Sigar();
SigarProxy sigarProxy = SigarProxyCache.newInstance(sigar);
List pif = new ArrayList<>();
try {
pif = Ps.getInfo(sigarProxy, pid);
} catch (SigarException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
for (int i = 0; i < pif.size(); i++) {
String s = pif.get(i).toString();
switch (i) {
case 0:
pi.pid = s;
break;
case 1:
pi.userName = s;
break;
case 2:
pi.startTime = s;
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
case 8:
pi.procPath = s;
s = s.substring(s.lastIndexOf("\\") + 1, s.length());
s = s.substring(s.lastIndexOf("/") + 1, s.length());
pi.procName = s;
break;
}
}
return pi;
}
pif = Ps.getInfo(sigarProxy, pid);