如何在 Java 9 中获得正在运行的进程的 ID?


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 Files\Java\jdk-9.0.4\bin\java.exe
CPU Duration: 0 seconds

更新于:2020-04-07

浏览量 652 次

开启你的 职业生涯

完成课程,获得认证

开始学习
广告