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