ใน Java 9 สามารถดึงข้อมูล PID ของกระบวนการผ่านการโทรแบบเนทีฟและสามารถทำได้ผ่าน ProcessHandle . นอกจากนี้เรายังสามารถดึงข้อมูลเกี่ยวกับ Java Process ที่กำลังทำงานอยู่ (JVM ) และ ข้อมูล (คลาสภายในของ ProcessHandle ) คลาสที่มีรายละเอียดเกี่ยวกับกระบวนการ นอกจากนี้เรายังสามารถส่งคืน สแนปชอต ของกระบวนการที่กำลังทำงานอยู่ในระบบทั้งหมด
ตัวอย่าง
import java.lang.ProcessHandle.Info; public class ProcessAPIChanges { public void detailedAPIInfo(ProcessHandle processHandle) { Info processInfo = processHandle.info(); System.out.println("Detailed Process Info is Provided Below: "); System.out.println("[Executable Name] " + processInfo.command().get()); System.out.println("[User Name] " + processInfo.user().get()); System.out.println("[Start Time] " + processInfo.startInstant().get().toString()); } public static void main(String args[]) { System.out.println("Process API Changes (Core Library) "); ProcessAPIChanges processAPIChanges = new ProcessAPIChanges(); ProcessHandle processHandle = ProcessHandle.current(); System.out.println("[Current Process Id] " + processHandle.pid()); processAPIChanges.detailedAPIInfo(processHandle); ProcessHandle.allProcesses() .filter(ph -> ph.info().command().isPresent()) .limit(4).forEach((process) -> processAPIChanges.detailedAPIInfo(process)); } }
ผลลัพธ์
Process API Changes (Core Library) [Current Process Id] 5724 Detailed Process Info is Provided Below: [Executable Name] C:\Program Files\Java\jdk-9.0.4\bin\java.exe [User Name] Tutorialspoint\User [Start Time] 2020-04-01T07:35:43.152Z Detailed Process Info is Provided Below: [Executable Name] C:\WINDOWS\System32\taskhostex.exe [User Name] Tutorialspoint\User [Start Time] 2020-04-01T04:14:36.241Z Detailed Process Info is Provided Below: [Executable Name] C:\Program Files\Synaptics\SynTP\SynTPEnh.exe [User Name] Tutorialspoint\User [Start Time] 2020-04-01T04:14:36.257Z Detailed Process Info is Provided Below: [Executable Name] C:\WINDOWS\explorer.exe [User Name] Tutorialspoint\User [Start Time] 2020-04-01T04:14:36.335Z Detailed Process Info is Provided Below: [Executable Name] C:\Program Files (x86)\Dell Wireless\Bluetooth Suite\BtvStack.exe [User Name] Tutorialspoint\User [Start Time] 2020-04-01T04:14:51.594Z