java代码获取进程号 java代码获取进程号怎么写

java 获取指定的进程idpackage test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class GetPid {
private static final String PNAME = "QQ";
public static void main(String[] args)
throws IOException {
System.out.println("包含关键字 " PNAME " 的进程有:");
System.out.println();
String path = System.getProperty("user.dir");
final File createFileName = new File(path"\\mytempscript.vbe");
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.handlevbtabps.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;
String[] ss = null;
while ((str = br.readLine()) != null) {
if (str.indexOf(PNAME)0str.endsWith(".exe")) {
ss = str.split("\\s");
for(int i=0;iss.length;i =2){
System.out.println("****************************");
System.out.println("进程名:" ss[i 1] "\n进程ID:" ss[i]);
}
}
}
System.out.println("****************************");
ir.close();
ii.close();
br.close();
}
}
运行结果如下
包含关键字 QQ 的进程有:
****************************
进程名:QQ.exe
进程ID:3956
【java代码获取进程号 java代码获取进程号怎么写】****************************
Java如何得到当前进程ID号进程号也就是UNIX类OS中的,Process ID
可是Process ID的概念只有在UNIX类的操作系统中才有,Java作为一种多平台的程序语言,在JDK的接口中并不提供“进程ID”(Process ID)这种OS独有的概念 。
如果要结束程序 , 可以使用System.exit()
如果非要得到自己的Process ID,唯一的方法就是在shell取得Process ID,然后Java在通过某种方式取得相应的Process ID 。
java获取进程名称代码java代码获取进程号:
package com.test;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
public class Target {
public static void main(String[] args) throws InterruptedException {System.out.println(getProcessID());
while(true) {
Thread.sleep(10000);
}
}
public static final int getProcessID() {
RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
System.out.println(runtimeMXBean.getName());
return Integer.valueOf(runtimeMXBean.getName().split("@")[0]) .intValue();
}
}
运行结果:2896@PC-20150603VRPL2896
当前进程ID为2896 。
ManagementFactory是一个在运行时管理和监控Java VM的工厂类java代码获取进程号,它能提供很多管理VM的静态接口 , 比如RuntimeMXBean;
RuntimeMXBean是Java虚拟机的运行时管理接口.
关于java代码获取进程号和java代码获取进程号怎么写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读