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

จะดึงข้อมูลกระบวนการทั้งหมดของ Process API ใน Java 9 ได้อย่างไร


ใน Java 9 ประมวลผล API ถูกนำมาใช้เพื่อควบคุมและจัดการกระบวนการของระบบปฏิบัติการ ตัวจัดการกระบวนการ class จัดเตรียม กระบวนการ ดั้งเดิมของกระบวนการ รหัส , เริ่ม เวลา , สะสม ซีพียู เวลา , ข้อโต้แย้ง , คำสั่ง , ผู้ใช้ , ผู้ปกครอง กระบวนการ และ ทายาท . นอกจากนี้ยังมีวิธีการตรวจสอบกระบวนการ ความมีชีวิตชีวา และเพื่อdestroy กระบวนการ เราดึง ProcessHandle . ทั้งหมด ข้อมูลเป็นสตรีมโดยใช้ allProcesses() วิธีการ

ในตัวอย่างด้านล่าง เราเรียกข้อมูลกระบวนการทั้งหมด

ตัวอย่าง

<ก่อนหน้า> นำเข้า java.util.stream.Stream; นำเข้า java.util.Optional; นำเข้า java.util.stream.Stream; คลาสสาธารณะ AllProcessesTest { โมฆะสาธารณะหลัก (สตริง args []) พ่น InterruptedException { System.out.println ("---------------------------"); System.out.println("กระบวนการทั้งหมด:"); สตรีม processStream =ProcessHandle.allProcesses(); processStream.forEach(กระบวนการ -> printInfo(กระบวนการ)); } โมฆะคงที่ส่วนตัว printInfo (ProcessHandle processHandle) { System.out.println ("---------"); System.out.println("Id:" + processHandle.pid() ); System.out.println("isAlive():" + processHandle.isAlive() ); System.out.println("จำนวนลูก:" + processHandle.children().count() ); System.out.println("isSupportsNormalTermination():" + processHandle.supportsNormalTermination() ); ProcessHandle.Info processInfo =processHandle.info(); System.out.println("ข้อมูล:" + processInfo.toString()); System.out.println("Info arguments().isPresent():" + processInfo.อาร์กิวเมนต์ () .isPresent() ); System.out.println("Info command().isPresent():" + processInfo.command () .เป็นปัจจุบัน () ); System.out.println("Info totalCpuDuration().isPresent():" + processInfo.totalCpuDuration().isPresent() ); System.out.println("Info user().isPresent():" + processInfo.user().isPresent() ); }}

ผลลัพธ์

--------------------------- กระบวนการทั้งหมด:Id:7056isAlive():truenumber of childrens:0isSupportsNormalTermination():falseInfo:[ผู้ใช้:ทางเลือก[Tutorialspoint\User], cmd:C:\Program Files (x86)\Google\Chrome\Application\chrome.exe, startTime:ตัวเลือก[2020-03-09T03:26:00.406Z], totalTime :ตัวเลือก[PT1M52.15625S]]ข้อโต้แย้งข้อมูล().isPresent():คำสั่ง falseInfo().isPresent():trueInfo totalCpuDuration().isPresent():trueInfo user().isPresent():true ----- ----Id:6168isAlive():truenumber ของเด็ก:0isSupportsNormalTermination():falseInfo:[ผู้ใช้:ทางเลือก [Tutorialspoint\User], cmd:C:\Program Files (x86)\Google\Chrome\Application\chrome.exe , startTime:ทางเลือก[2020-03-09T03:26:01.567Z], totalTime:ทางเลือก[PT2M24.671875S]]Infoอาร์กิวเมนต์().isPresent():falseInfo command().isPresent():trueInfo totalCpuDuration().isPresent ():trueInfo user().isPresent():true---------Id:7972isAlive():truenumber of childrens:0isSupportsNormalTermination():falseInfo:[ผู้ใช้:ทางเลือก[Tuto] rialspoint\User], cmd:C:\Program Files (x86)\Google\Chrome\Application\chrome.exe, startTime:ทางเลือก[2020-03-09T03:26:03.118Z], totalTime:ทางเลือก[PT29.09375S] ]ข้อโต้แย้งข้อมูล ().isPresent():falseInfo command().isPresent():trueInfo totalCpuDuration().isPresent():trueInfo user().isPresent():true---------Id:3368isAlive ():truenumber of childrens:0isSupportsNormalTermination():falseInfo:[user:Optional[Tutorialspoint\User], cmd:C:\Program Files (x86)\Google\Chrome\Application\chrome.exe, startTime:ทางเลือก[2020-] 03-09T03:27:26.511Z], totalTime:ตัวเลือก [PT37.84375S]] อาร์กิวเมนต์ข้อมูล ().isPresent():คำสั่ง falseInfo ().isPresent():trueInfo totalCpuDuration().isPresent():ผู้ใช้ trueInfo () .isPresent():true--------- Id:2456isAlive():truenumber of childrens:0isSupportsNormalTermination():falseInfo:[ผู้ใช้:ทางเลือก [Tutorialspoint\User], cmd:C:\WINDOWS\System32\ conhost.exe, startTime:ทางเลือก[2020-03-09T03:30:49.514Z], totalTime:ทางเลือก[PT0.390625S]]Infoอาร์กิวเมนต์().isPresent():คำสั่ง falseInfo ().isPresent():trueInfo totalCpuDuration().isPresent():trueInfo user().isPresent():true---------Id:7804isAlive():truenumber of childrens:4isSupportsNormalTermination() :falseInfo:[ผู้ใช้:ทางเลือก[Tutorialspoint\User], cmd:C:\Program Files\Mozilla Firefox\firefox.exe, startTime:ทางเลือก[2020-03-09T03:30:51.441Z], totalTime:ทางเลือก[PT38. 046875S]]อาร์กิวเมนต์ข้อมูล ().isPresent():คำสั่ง falseInfo ().isPresent():trueInfo totalCpuDuration().isPresent():trueInfo user().isPresent():true---------Id :8172isAlive():truenumber of childrens:0isSupportsNormalTermination():falseInfo:[user:Optional[Tutorialspoint\User], cmd:C:\Program Files\Mozilla Firefox\firefox.exe, startTime:ทางเลือก[2020-03-09T03:] 30:53.293Z], totalTime:ทางเลือก[PT4.03125S]]Info arguments().isPresent():falseInfo command().isPresent():trueInfo totalCpuDuration().isPresent():trueInfo user().isPresent() :จริง ----- Id:6008isAlive():truenumber ของเด็ก:0isSupportsNormalTermination():fals eInfo:[ผู้ใช้:ทางเลือก [Tutorialspoint\User], cmd:C:\Program Files\Mozilla Firefox\firefox.exe, startTime:ทางเลือก[2020-03-09T03:30:54.081Z], totalTime:ทางเลือก[PT5M28.078125S ]]อาร์กิวเมนต์ข้อมูล().isPresent():falseInfo command().isPresent():trueInfo totalCpuDuration().isPresent():trueInfo user().isPresent():true---------Id:1032isAlive():falsenumber ของเด็ก:0isSupportsNormalTermination():falseInfo:[]Info arguments().isPresent():falseInfo command().isPresent():falseInfo totalCpuDuration().isPresent():falseInfo user().isPresent( ):false---------Id:5044isAlive():truenumber ของเด็ก:0isSupportsNormalTermination():falseInfo:[ผู้ใช้:Optional[Tutorialspoint\User], cmd:C:\Program Files\Java\jdk- 9.0.4\bin\java.exe, startTime:ทางเลือก[2020-03-09T04:12:39.567Z], totalTime:ทางเลือก[PT1.28125S]]Infoอาร์กิวเมนต์().isPresent():falseInfo command().isPresent ():trueInfo totalCpuDuration().isPresent():trueInfo ผู้ใช้().isPresent():จริง