ProcessHandle interface อนุญาตให้ดำเนินการและตรวจสอบสถานะของ process ระบุ process's native pid start time CPU time user parent process และ descendants สามารถเข้าถึง parent process ด้วยการเรียกเมธอด parent() ค่าที่คืนเป็น Optional จะว่างหาก child process ไม่มี parent หรือ parent ไม่พร้อมใช้งาน
ไวยากรณ์
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();
}
}
}
ในตัวอย่าง จะเปิดแอปพลิเคชัน "notepad" และพิมพ์ native PID ของ parent process
ผลลัพธ์
Parent Process Native PID : 7108
เมธอด ProcessHandle ที่เกี่ยวข้อง
pid() - native process IDparent() - Optional<ProcessHandle> ของ parentchildren() - Stream<ProcessHandle> ของ child processes โดยตรงdescendants() - Stream<ProcessHandle> ของทุก descendantsinfo() - ProcessHandle.Info ข้อมูลเพิ่มเติมisAlive() - process ยังทำงานอยู่หรือไม่destroy() - ทำลาย process แบบ gracefuldestroyForcibly() - ทำลาย process บังคับ