How can we get an ID of the running process in Java 9?

JavaObject Oriented ProgrammingProgramming

Java 9 has added improvements to Process API for getting PID of running process, getting children and/or descendants of a process, and also added a new class that helps to list out all running processes, getting information about an arbitrary process, and traversing process tree. The information returned by these methods can be a snapshot of processes running on the OS.

In the below example, we can get an ID of the running process by using the pid() method of ProcessHandle.

Example

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");
   }
}

Output

PID of the running Process: 4248
Command: C:\Program Files\Java\jdk-9.0.4\bin\java.exe
CPU Duration: 0 seconds
raja
Published on 07-Apr-2020 21:59:21
Advertisements