如何在 Java 9 中获取正在运行的进程的 ID?
javaobject oriented programmingprogramming
Java 9 对 Process API 进行了改进,用于获取正在运行的进程的 PID、获取进程的子进程和/或后代进程,还添加了一个新类,可帮助列出所有正在运行的进程、获取有关任意进程的信息以及遍历进程树。这些方法返回的信息可以是操作系统上运行的进程的快照。
在下面的例子中,我们可以通过使用 ProcessHandle 的 pid() 方法获取正在运行的进程的 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