자바 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