Java đã cải tiến Process API trong phiên bản Java 9 giúp quản lý và kiểm soát tiến trình hệ điều hành. Trước đây, rất khó quản lý và kiểm soát tiến trình OS bằng Java. Lớp và interface mới được thêm trong Java 9 để thực hiện nhiệm vụ này. Interface ProcessHandle nhận diện và cung cấp kiểm soát tiến trình native, cũng cung cấp phương thức kiểm tra sự sống (liveness) của tiến trình và hủy tiến trình. Interface ProcessHandle.Info cung cấp snapshot thông tin tiến trình.
Process API cung cấp thêm thông tin như:
- Native process ID của tiến trình
- Thời gian CPU tích lũy
- Tiến trình cha (Parent process)
- Phương thức hủy tiến trình
- Tiến trình con cháu (Descendants), v.v.
Ví dụ
public class ProcessTest {
public static void main(String args[]) {
ProcessHandle currentProcess = ProcessHandle.current();
System.out.println("PID: " + currentProcess.pid());
ProcessHandle.Info currentProcessInfo = currentProcess.info();
System.out.println("totalCpuDuration: " + currentProcessInfo.totalCpuDuration());
System.out.println("user: " + currentProcessInfo.user());
}
}
Kết quả
PID: 6004 totalCpuDuration: Optional[PT0.421875S] user: Optional[Tutorialspoint\User]