Chinaunix首页 | 论坛 | 博客
  • 博客访问: 63957
  • 博文数量: 18
  • 博客积分: 1430
  • 博客等级: 上尉
  • 技术积分: 172
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-06 00:29
个人简介

随心 随性 专注一心

文章分类

全部博文(18)

文章存档

2015年(2)

2014年(9)

2013年(3)

2011年(1)

2010年(3)

我的朋友

分类: Java

2014-08-11 10:53:49

今天因为客户的一个小需求,要获取用户打开系统的数量,看看一般用户会启动多少个客户端,用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中后要记得导入哦,要区分大小写。
阅读(533) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~