Computer >> Máy Tính >  >> Lập trình >> Java

Tầm quan trọng của giao diện ProcessHandle trong Java 9 là gì?

ProcessHandle giao diện được giới thiệu trong Java 9. Nó cho phép chúng ta thực hiện các hành động và kiểm tra trạng thái của một tiến trình có liên quan. Giao diện này cung cấp ID quy trình (pid) gốc của quy trình , thời gian bắt đầu, thời gian CPU tích lũy, đối số, lệnh, người dùng, quy trình mẹ, con cháu .

ProcessHandle giao diện cho phép chúng tôi thực hiện các hành động sau.

  • Nó trả về một ProcessHandle.Info chứa thêm thông tin về quy trình
  • Pid của một quy trình
  • Nếu nó còn sống
  • Truy xuất ảnh chụp nhanh về các con trực tiếp của một quá trình
  • Truy xuất ảnh chụp nhanh của tất cả các mô tả của một quy trình
  • Truy xuất ảnh chụp nhanh của tất cả các quy trình hiện đang chạy
  • Cho phép quá trình bị hủy
  • Nó trả về CompletableFuture với ProcessHandle khi Tiến trình kết thúc


ProcessHandle.Inf o nắm giữ thông tin từ ảnh chụp nhanh của quá trình bao gồm:

  • Lệnh của quy trình
  • Lập luận của Quy trình
  • Dòng lệnh của Quy trình
  • Thời gian bắt đầu của Quy trình
  • Thời gian CPU được Quy trình sử dụng
  • Người sử dụng Quy trình

Trong ví dụ dưới đây, chúng tôi có thể in pid của Quy trình xử lý hiện tại bằng cách sử dụng pid () và cũng kiểm tra quá trình hiện đang chạy bằng cách sử dụng isAlive () phương pháp.

Ví dụ

import java.util.Optional;

public class ProcessHandleTest {
   public static void main(String args[]) {
      long pid = ProcessHandle.current().pid();

      ProcessHandle currentProcess = ProcessHandle.current();
      System.out.println("PID: " + currentProcess.pid());

      Optional<ProcessHandle> processHandle = ProcessHandle.of(pid);
      boolean isAlive = processHandle.isPresent() && processHandle.get().isAlive();
      System.out.println(isAlive);
   }
}

Đầu ra

PID: 6484
true