ProcessHandle接口使我们可以执行一些操作,并检查流程的状态。它提供了进程的本机pid,开始时间,CPU时间,用户,父进程和后代。我们可以通过调用parent()方法来访问父进程,返回值为Optional。如果子进程没有父级或父级不可用,则为空。
语法Optional parent()
示例import java.io.*;
public class ParentProcessTest {
public static void main(String args[]) {
try {
Process notepadProcess = new ProcessBuilder("notepad.exe").start();
ProcessHandle parentHandle = notepadProcess.toHandle().parent().get();
System.out.println("Parent Process Native PID: "+ parentHandle.pid());
} catch(IOException e) {
e.printStackTrace();
}
}
}
在上面的示例中,将启动“记事本”应用程序,并打印父流程本机PID。
输出结果Parent Process Native PID : 7108