如何遍历Java 9中的Process API的进程树?
Java9改进了ProcessAPI,它有助于管理和控制操作系统进程。在Java9之前,很难使用Java程序来管理和控制操作系统进程。从Java9开始,添加了新的类和接口来通过Java程序控制操作系统进程。添加了诸如ProcessHandle 和ProcessHandle.Info的新接口,并且还向Process 类添加了新方法。
在下面的示例中,我们可以遍历Process API的流程树 (子流程和后代流程)。
示例
import java.io.IOException;
public class ProcessTreeTest {
public static void main(String args[]) throws IOException {
Runtime.getRuntime().exec("cmd");
System.out.println("显示子进程:");
ProcessHandle processHandle = ProcessHandle.current();
processHandle.children().forEach(childProcess ->
System.out.println("PID: " + childProcess.pid() + " Command: " + childProcess.info().command().get()));
System.out.println("显示后代进程:");
processHandle.descendants().forEach(descendantProcess ->
System.out.println("PID: " + descendantProcess.pid() + " Command: " + descendantProcess.info().command().get()));
}
}输出结果
显示子进程: PID: 5092 Command: C:\WINDOWS\System32\cmd.exe 显示后代进程: PID: 5092 Command: C:\WINDOWS\System32\cmd.exe PID: 2256 Command: C:\WINDOWS\System32\conhost.exe
热门推荐
10 团队文案祝福语简短励志
11 邻家生小孩祝福语简短
12 比赛结束花束祝福语简短
13 整形机构开业祝福语简短
14 双节祝福语简短唯美
15 许愿星姐妹祝福语简短
16 宝子生日祝福语简短
17 祝球员赛前祝福语简短
18 六一婚礼文案祝福语简短