Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

อินเทอร์เฟซ ProcessHandle ใน Java 9 มีความสำคัญอย่างไร


ตัวจัดการกระบวนการ อินเทอร์เฟซที่แนะนำใน Java 9 ช่วยให้เราสามารถดำเนินการและตรวจสอบสถานะของกระบวนการที่เกี่ยวข้องได้ อินเทอร์เฟซนี้ให้รหัสกระบวนการ (pid) native ดั้งเดิมของกระบวนการ , เวลาเริ่มต้น, เวลา CPU สะสม, อาร์กิวเมนต์, คำสั่ง, ผู้ใช้, กระบวนการหลัก และ ทายาท .

ตัวจัดการกระบวนการ อินเทอร์เฟซช่วยให้เราดำเนินการดังต่อไปนี้ได้

  • ส่งกลับ ProcessHandle.Info มีข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการ
  • ที่สุดของกระบวนการ
  • ถ้ามันยังมีชีวิตอยู่
  • ดึงสแนปชอตของชายด์โดยตรงของกระบวนการ
  • ดึงสแนปชอตของการลงทั้งหมดของกระบวนการ
  • ดึงสแน็ปช็อตของกระบวนการที่กำลังทำงานอยู่ทั้งหมด
  • ปล่อยให้กระบวนการถูกทำลาย
  • ส่งกลับ อนาคตที่สมบูรณ์ ด้วย ProcessHandle เพราะเมื่อความคืบหน้าสิ้นสุดลง


ProcessHandle.Inf โอ เก็บข้อมูลจากภาพรวมของกระบวนการประกอบด้วย:

  • คำสั่งของกระบวนการ
  • ข้อโต้แย้งของกระบวนการ
  • บรรทัดคำสั่งของกระบวนการ
  • เวลาเริ่มต้นของกระบวนการ
  • เวลา CPU ที่ใช้โดยกระบวนการ
  • ผู้ใช้กระบวนการ

ในตัวอย่างด้านล่าง เราสามารถพิมพ์ pid ของ Process Handle ปัจจุบันโดยใช้ pid() วิธีการและยังตรวจสอบกระบวนการกำลังทำงานโดยใช้ isAlive() วิธีการ

ตัวอย่าง

<ก่อน>นำเข้า java.util.Optional; คลาสสาธารณะ ProcessHandleTest { โมฆะสาธารณะหลัก (String args []) { pid ยาว =ProcessHandle.current ().pid (); ตัวจัดการกระบวนการ ปัจจุบันกระบวนการ =ProcessHandle.current (); System.out.println("PID:" + currentProcess.pid () ); ไม่บังคับ processHandle =ProcessHandle.ของ (ปี๊ด); บูลีน isAlive =processHandle.isPresent() &&processHandle.get().isAlive(); System.out.println(isAlive); }}

ผลลัพธ์

PID:6484true