如何在 Java 9 中遍歷 Process API 的程序樹?
Java 9 改進了 Process API,支援管理和控制作業系統程序。在 Java 9 之前,很難使用 Java 程式管理和控制作業系統程序。自 Java 9 以來,已添加了新類和新介面,以透過 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("Showing children processes:");
ProcessHandle processHandle = ProcessHandle.current();
processHandle.children().forEach(childProcess ->
System.out.println("PID: " + childProcess.pid() + " Command: " + childProcess.info().command().get()));
System.out.println("Showing descendant processes:");
processHandle.descendants().forEach(descendantProcess ->
System.out.println("PID: " + descendantProcess.pid() + " Command: " + descendantProcess.info().command().get()));
}
}輸出
Showing children processes: PID: 5092 Command: C:\WINDOWS\System32\cmd.exe Showing descendant processes: PID: 5092 Command: C:\WINDOWS\System32\cmd.exe PID: 2256 Command: C:\WINDOWS\System32\conhost.exe
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP