sigar取得进程信息

    xiaoxiao2022-07-03  129

    首先先上代码

    SigerVO vo = new SigerVO(); try { Sigar sigar = new Sigar(); for (Long pid : sigar.getProcList()) { try { Ps ps = new Ps(); List<String> list = ps.getInfo(sigar, pid); for(int i = 0; i < list.size(); i++){ System.out.println(list.get(i)); } } catch (SigarException e) { } }

    ps.getInfo(sigar, pid)这里面返回的就是所有的进程信息,但是这个公司在maven仓库里面没有源码以及doc。当然蛋疼的API里面也没有相关描述,这里的话通过反编译以及结合API里面有限的说明对这个返回值里面的含义进行说明 返回的是一个字符串类型的数组,各个下标的含义如下 [0]进程ID [1]进程所属用户名,取得不到的话返回的是???并不是乱码 [2]启动时间 [3]进程的虚拟内存 [4]进程的常驻内存 [5]进程的共享内存(如果这一块取不到的话只会返回一个???所以内存占用状态取不到数组长度会少2,所以要小心越界) [6]进程状态(SLEEP = ‘S’;RUN = ‘R’;STOP = ‘T’;ZOMBIE = ‘Z’;IDLE = ‘D’;) [7]总时长 [8]进程所属详细信息

    最新回复(0)