Java 9 ปรับปรุง กระบวนการ คลาสโดยเพิ่มเมธอดใหม่และยังมีอินเทอร์เฟซใหม่:ProcessHandle และ ProcessHandle.Info เพื่อรับรายละเอียดทั้งหมดเกี่ยวกับกระบวนการและข้อมูล
ด้านล่างเป็นรายการวิธีการใหม่ที่เพิ่มไปยังกระบวนการใน Java 9
- บูลีนรองรับNormalTermination(): มันสามารถคืนค่าเป็นจริงได้หากการใช้งาน destroy() เป็นการยุติกระบวนการโดยปกติ มิฉะนั้นจะคืนค่าเท็จ
- long pid(): มันสามารถส่งคืน ID กระบวนการดั้งเดิมของกระบวนการ
- ProcessHandle toHandle(): มันสามารถส่งคืน ProcessHandle สำหรับกระบวนการ
- สตรีมเด็ก (): มันสามารถส่งคืนสแน็ปช็อตของเด็กโดยตรงของกระบวนการ
- สตรีมผู้สืบทอด (): มันสามารถส่งคืนสแนปชอตของลูกหลานของกระบวนการได้
- ProcessHandle.Info info(): สามารถส่งคืนภาพรวมข้อมูลเกี่ยวกับกระบวนการได้
- อนาคตที่สมบูรณ์ onExit(): มันสามารถคืนค่า อนาคตที่สมบูรณ์ สำหรับการยุติกระบวนการ
ตัวอย่าง
public class ProcessTest { public static void main(String args[]) { ProcessHandle processHandle = ProcessHandle.current(); ProcessHandle.Info processInfo = processHandle.info(); System.out.println(processHandle.pid()); System.out.println(processHandle.parent()); System.out.println(processInfo.arguments().isPresent()); System.out.println(processInfo.command().isPresent()); System.out.println(processInfo.command().get().contains("tutorialspoint")); System.out.println(processInfo.startInstant().isPresent()); } }
ผลลัพธ์
4892 Optional[7788] false true false true