프로세스 핸들 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