Home  >  Article  >  Java  >  What are the core library changes to the Process API in Java 9?

What are the core library changes to the Process API in Java 9?

WBOY
WBOYforward
2023-08-19 18:17:09830browse

Java 9中进程API的核心库变化是什么?

In Java 9, one can retrieve the PID of the process through a native call and can be achievable through the ProcessHandle. We can also retrieve information about the currently running Java Process (JVM) and Info (inner class of ProcessHandle) class that contains details about the process. We can also return a snapshot of all currently running processes in the system.

Example

import java.lang.ProcessHandle.Info;

public class ProcessAPIChanges {
   public void detailedAPIInfo(<strong>ProcessHandle </strong>processHandle) {
      <strong>Info </strong>processInfo = processHandle.<strong>info()</strong>;
      System.out.println("Detailed Process Info is Provided Below: ");
      System.out.println("[Executable Name] " + processInfo.<strong>command().get()</strong>);
      System.out.println("[User Name] " + processInfo.<strong>user().get()</strong>);
      System.out.println("[Start Time] " + processInfo.<strong>startInstant().get().toString()</strong>);
   }
   public static void main(String args[]) {
      System.out.println("Process API Changes (Core Library) ");
      ProcessAPIChanges processAPIChanges = new ProcessAPIChanges();
      <strong>ProcessHandle </strong>processHandle = ProcessHandle.<strong>current()</strong>;

      System.out.println("[Current Process Id] " + processHandle.<strong>pid()</strong>);

      processAPIChanges.detailedAPIInfo(processHandle);
      ProcessHandle.allProcesses()
         .<strong>filter</strong>(ph -> ph.info().command().<strong>isPresent()</strong>)
         .<strong>limit</strong>(4).forEach((process) -> processAPIChanges.detailedAPIInfo(process));
   }
}

输出

<strong>Process API Changes (Core Library)
[Current Process Id] 5724
Detailed Process Info is Provided Below:
[Executable Name] C:\Program Files\Java\jdk-9.0.4\bin\java.exe
[User Name] Tutorialspoint\User
[Start Time] 2020-04-01T07:35:43.152Z
Detailed Process Info is Provided Below:
[Executable Name] C:\WINDOWS\System32\taskhostex.exe
[User Name] Tutorialspoint\User
[Start Time] 2020-04-01T04:14:36.241Z
Detailed Process Info is Provided Below:
[Executable Name] C:\Program Files\Synaptics\SynTP\SynTPEnh.exe
[User Name] Tutorialspoint\User
[Start Time] 2020-04-01T04:14:36.257Z
Detailed Process Info is Provided Below:
[Executable Name] C:\WINDOWS\explorer.exe
[User Name] Tutorialspoint\User
[Start Time] 2020-04-01T04:14:36.335Z
Detailed Process Info is Provided Below:
[Executable Name] C:\Program Files (x86)\Dell Wireless\Bluetooth Suite\BtvStack.exe
[User Name] Tutorialspoint\User
[Start Time] 2020-04-01T04:14:51.594Z</strong>

The above is the detailed content of What are the core library changes to the Process API in Java 9?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete