Java 9 ได้ปรับปรุง Process API และช่วยในการจัดการและควบคุมกระบวนการของระบบปฏิบัติการ ก่อน Java 9 จะเป็นการยากที่จะจัดการและควบคุมกระบวนการของระบบปฏิบัติการโดยใช้โปรแกรม Java ตั้งแต่ Java 9 มีการเพิ่มคลาสและอินเทอร์เฟซใหม่เพื่อควบคุมกระบวนการของระบบปฏิบัติการผ่านโปรแกรม Java อินเทอร์เฟซใหม่ เช่น ProcessHandle และ ProcessHandle.Info ได้เพิ่ม และยังมีการเพิ่มวิธีการใหม่ใน กระบวนการ ชั้นเรียน
ในตัวอย่างด้านล่าง เราสามารถสำรวจแผนผังกระบวนการ (ลูก และ ทายาท กระบวนการ) ของ กระบวนการ 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