Java 9中添加到Process API的新方法有哪些?

Java 9通过添加新方法改进了Process 类,还提供了一个新接口:ProcessHandle ProcessHandle.Info,以获取有关流程及其信息的所有详细信息。

以下是在Java 9中添加到Process的新方法的列表

  • boolean supportsNormalTermination()如果的实现destroy()要正常终止进程,则可以返回true,否则返回false。

  • long pid()它可以返回进程的本机进程ID。

  • ProcessHandle toHandle()它可以为流程返回一个ProcessHandle 

  • children()它可以返回进程的直接子级的快照。

  • descendants()它可以返回流程后代的快照。

  • ProcessHandle.Info info(): 它可以返回有关流程信息的快照。

  • CompletableFuture onExit()它可以返回CompletableFuture 来终止进程。

示例

public class ProcessTest {
   public static void main(String args[]) {      ProcessHandle processHandle = ProcessHandle.current();      ProcessHandle.Info processInfo = processHandle.info();
      System.out.println(processHandle.pid());
      System.out.println(processHandle.parent());
      System.out.println(processInfo.arguments().isPresent());
      System.out.println(processInfo.command().isPresent());
      System.out.println(processInfo.command().get().contains("nhooo"));
      System.out.println(processInfo.startInstant().isPresent());
   }
}

输出结果

4892
Optional[7788]
false
true
false
true