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

Java 9에서 Process API의 프로세스 트리를 탐색하는 방법은 무엇입니까?


자바 9 Process API가 개선되었습니다. , 운영 체제 프로세스를 관리하고 제어하는 ​​데 도움이 됩니다. Java 9 이전에는 Java 프로그램을 사용하여 운영 체제 프로세스를 관리하고 제어하기가 어려웠습니다. Java 9 이후 , Java 프로그램을 통해 운영 체제 프로세스를 제어하기 위해 새로운 클래스와 인터페이스가 추가되었습니다. ProcessHandle 과 같은 새로운 인터페이스 및 ProcessHandle.Info 프로세스 에 새로운 방법이 추가되었습니다. 수업.

아래 예에서는 프로세스 트리를 탐색할 수 있습니다. (어린이 하위 프로세스)의 프로세스 API.

예시

import java.io.IOException;

public class ProcessTreeTest {
   public static void main(String args[]) throws IOException {
      Runtime.getRuntime().exec("cmd");
     
      System.out.println("Showing children processes:");
      ProcessHandle processHandle = ProcessHandle.current();
      processHandle.children().forEach(childProcess ->
              System.out.println("PID: " + childProcess.pid() + " Command: " + childProcess.info().command().get()));
     
      System.out.println("Showing descendant processes:");
      processHandle.descendants().forEach(descendantProcess ->
              System.out.println("PID: " + descendantProcess.pid() + " Command: " +   descendantProcess.info().command().get()));
   }
}

출력

Showing children processes:
PID: 5092 Command: C:\WINDOWS\System32\cmd.exe
Showing descendant processes:
PID: 5092 Command: C:\WINDOWS\System32\cmd.exe
PID: 2256 Command: C:\WINDOWS\System32\conhost.exe