sigar取得进程信息

首先先上代码

	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]进程所属详细信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章