您的位置:首页 > 编程语言 > Java开发

java获取某进程的进程数

2011-09-23 17:02 99 查看
 
最近工作中用到一些线程方面的知识,主要用到一些进程的pid以及进程数量方面的知识一下是一些代码

public static int getCountByPName(String PNAME) {

  String[] ss = null;

  int count = 0;

  // 获取用户的目录

  String path = System.getProperty("user.dir");

  final File createFileName = new File(path + "\\mytempscript.vbe");

  try {

   if (createFileName.exists() ? createFileName.delete()

     : createFileName.createNewFile()) {

   }

   final PrintWriter pw = new PrintWriter(new FileWriter(

     createFileName, true), true);

   pw

     .println("for each ps in getobject(\"winmgmts:\\\\.\\root\\cimv2:win32_process\").instances_");

   pw.println("wscript.echo ps.handle&vbtab&ps.name");

   pw.println("next");

   pw.close();

   final InputStream ii = Runtime.getRuntime().exec(

     "cscript " + path + "\\mytempscript.vbe").getInputStream();

   final InputStreamReader ir = new InputStreamReader(ii);

   final BufferedReader br = new BufferedReader(ir);

   String str = null;

   while ((str = br.readLine()) != null) {

    if (str.indexOf(PNAME) > 0 && str.endsWith(".exe")) {

     ss = str.split("\\s");

     for (int i = 0; i < ss.length; i += 2) {

      System.out.println("****************************");

      System.out.println("进程名:" + ss[i + 1] + "\n进程ID:"

        + ss[i]);

      count++;

     }

    }

   }

   ir.close();

   ii.close();

   br.close();

  } catch (IOException e) {

   e.printStackTrace();

  }

  return count;

 }

这段代码主要是为了获取某进程的进程个数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java string path file each null