今天因为客户的一个小需求,要获取用户打开系统的数量,看看一般用户会启动多少个客户端,用JNI太麻烦,想java应该也会有类似的底层代码提供,虽然Linux等服务器系统可能会有问题,但是一般的用户电脑也足矣!下面是具体的实施代码:
public class Test {
public static void main(String[] args) {
System.out.println("进程数量:"+Test.getProcessNum("eclipse.exe"));
}
/**
* 获取进程数量
* @param exeName 进程名字
* @return 进程数量
*/
public static int getProcessNum(String exeName) {
int count = 0;
try {
Process proc = Runtime.getRuntime().exec("tasklist");
BufferedReader br = new BufferedReader(new InputStreamReader(
proc.getInputStream()));
String info = br.readLine();
while (info != null) {
if (info.indexOf(exeName) >= 0) {
count++;
}
info = br.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
return count;
}
}
PS:代码中引用的底层包都是常用的,代码复制到Eclipse中后要记得导入哦

,要区分大小写。
阅读(585) | 评论(0) | 转发(0) |