获取在java中创建的java.lang.Process的PID

时间:2015-09-23 12:11:35

标签: java process java.lang.class

我需要获得java.lang.Process的PID以在某段时间之后将其杀死。如何在JAVA中实现这一点。

{
  Process p = Runtime.getRuntime().exec("cmd /c start D:\\SBTool\\Test.bat");
}

我想得到进程p的PID。请帮忙

1 个答案:

答案 0 :(得分:0)

如果你正在使用unix,你可以将Process转换为UnixProcess,你会发现该类中的pid 但是如果您正在使用Windows,则需要使用waitFor方法,然后检查exitCode是否为0,如果是这样,您需要使用缓冲区读取器读取它,这是一个示例代码:

    p.waitFor();
    if (p.exitValue()==0) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
        return reader.readLine();
    }

但是,如果你正在寻找的是什么,你就不需要使用pid来杀死进程了。在Process类型中有一个方法可以为你杀死它 p>