首页 > 文章列表 > 在Java 9中,我们如何获取正在运行的进程的ID?

在Java 9中,我们如何获取正在运行的进程的ID?

184 2023-09-06

Java 9已经对进程API进行了改进,可以获取正在运行的进程的PID,获取进程的子进程和/或后代进程,还新增了一个帮助列出所有正在运行的进程、获取关于任意进程的信息以及遍历进程树的类。这些方法返回的信息可以是操作系统上正在运行的进程的快照

在下面的示例中,我们可以使用ProcessHandlepid()方法来获取正在运行的进程的ID。

示例

public class ProcessHandleTest {
   public static void main(String args[]) {
      ProcessHandle processHandle = ProcessHandle.current();
      System.out.println("PID of running Process: " + processHandle.pid());
      System.out.println("Command: " + processHandle.info().command().orElse("N/A"));
      System.out.println("CPU Duration: " + processHandle.info().totalCpuDuration().get().getSeconds() + " seconds");
   }
}

输出

PID of the running Process: 4248
Command: C:Program FilesJavajdk-9.0.4binjava.exe
CPU Duration: 0 seconds