Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9에서 ProcessHandle 인터페이스의 중요성은 무엇입니까?

<시간/>

프로세스 핸들 Java 9에 도입된 인터페이스입니다. 이를 통해 작업을 수행하고 관련된 프로세스의 상태를 확인할 수 있습니다. 이 인터페이스는 프로세스의 기본 프로세스 ID(pid)를 제공합니다. , 시작 시간, 누적 CPU 시간, 인수, 명령, 사용자, 상위 프로세스하위 항목 .

프로세스 핸들 인터페이스를 통해 다음 작업을 수행할 수 있습니다.

  • ProcessHandle.Info를 반환합니다. 프로세스에 대한 추가 정보 포함
  • 프로세스의 PID
  • 살아있다면
  • 프로세스의 직계 자식 스냅샷 검색
  • 프로세스의 모든 하위 항목에 대한 스냅샷 검색
  • 현재 실행 중인 모든 프로세스의 스냅샷 검색
  • 프로세스가 파괴되도록 허용
  • CompletableFuture 를 반환합니다. ProcessHandle 사용 진행이 종료되는 경우


ProcessHandle.Inf 다음을 포함하는 프로세스 스냅샷의 정보를 보유합니다.

  • 프로세스 명령
  • 프로세스의 인수
  • 프로세스의 명령줄
  • 프로세스 시작 시간
  • 프로세스에서 사용한 CPU 시간
  • 프로세스의 사용자

아래 예에서 pid 를 인쇄할 수 있습니다. pid()를 사용하여 현재 프로세스 핸들 메소드를 사용하고 isAlive() 를 사용하여 프로세스가 현재 실행 중인지 확인합니다. 방법.

예시

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);
   }
}

출력

PID: 6484
true