如何在 Java 9 中获取 Process API 的父进程?


ProcessHandle 接口允许我们执行某些操作,并检查进程的状态。它提供进程的本地pid开始时间CPU 时间用户父进程子进程。我们可以通过调用 parent() 方法来访问父进程,返回值为Optional。如果子进程没有父进程或父进程不可用,则它为空。

语法

Optional<ProcessHandle> 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

更新于: 16-3-2020

648 次浏览

开启你的 职业生涯

完成课程即可获得认证

开始吧
广告