gpt4 book ai didi

java - 如何获取生成的 Java 进程的 PID

转载 作者:行者123 更新时间:2023-11-30 05:55:48 27 4
gpt4 key购买 nike

我正在编写几个 Java 程序,并且在完成我想做的任何事情后需要在单独的 JVM 中终止/清理。为此,我需要获取正在创建的 Java 进程的 PID。

最佳答案

jps -l 适用于 Windows 和 Unix。您可以使用 Runtime.getRuntime().exec 从您的 java 程序调用此命令。 jps -l输出示例如下

9412 foo.bar.ClassName
9300 sun.tools.jps.Jps

您可能需要对此进行解析,然后检查完​​全限定名称,然后从相应行获取 pid。

private static void executeJps() throws IOException {
Process p = Runtime.getRuntime().exec("jps -l");
String line = null;
BufferedReader in = new BufferedReader(new InputStreamReader(
p.getInputStream(), "UTF-8"));

while ((line = in.readLine()) != null) {
String [] javaProcess = line.split(" ");
if (javaProcess.length > 1 && javaProcess[1].endsWith("ClassName")) {
System.out.println("pid => " + javaProcess[0]);
System.out.println("Fully Qualified Class Name => " +
javaProcess[1]);
}
}
}

关于java - 如何获取生成的 Java 进程的 PID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7834270/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com