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