java在windows下如何实现获取进程ID

java在windows下如何实现获取进程ID??
2024-10-22 15:01:03
推荐回答(2个)
回答1:

给你个例子,通过调用windows的命令得到当前系统内的进程列表,然后你根据需要自己过滤出想要的进程ID(字符串分析).

try {
Process p = Runtime.getRuntime().exec("cmd /c tasklist");
InputStream is = p.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
byte[] buf = new byte[4096];
while(is.read(buf)>0){
//我在这里只是简单输出结果,你可以对结果进行你要的处理。
System.out.println(new String(buf));
}
bis.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
} 答案补充 java是运行在其JVM中的,JVM是操作系统的一个进程,和操作系统中的其他进程是一样的.
对于你的补充提问,建议你使用java的jni来解决.java通过jni可以调用C来完成一些底层的事情.

回答2:

Process p = Runtime.getRuntime().exec("cmd /c tasklist");
InputStream is = p.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
byte[] buf = new byte[4096];
while(is.read(buf)>0){
System.out.println(new String(buf));
}
bis.close();
is.close();