Java의 Java Lang Runtime exec() 메소드

Sheeraz Gul 2023년10월12일
Java의 Java Lang Runtime exec() 메소드

이 튜토리얼은 Java의 Runtime.exec() 메서드를 보여줍니다.

Java Lang 런타임 exec() Java의 메소드

Java Lang Runtime 클래스는 클래스 런타임 인스턴스와 환경 인터페이스가 있는 모든 Java 애플리케이션 간의 상호 작용에 사용됩니다. Runtime.getRuntime.exec() 메서드는 프로세스에서 문자열 명령을 실행하는 데 사용됩니다.

Runtime.exec() 메서드는 다음과 같은 방법으로 구현할 수 있습니다.

방법 행동
exec(문자열 cmd) 프로세스에서 문자열 명령을 실행하는 데 사용됩니다.
exec(문자열[] cmd) 프로세스에서 인수를 사용하여 특정 명령을 실행하는 데 사용됩니다.
exec(문자열 명령, 문자열[] envp, 파일 디렉토리) 이것은 특정 환경과 디렉토리를 가진 프로세스에서 단일 문자열 명령을 실행하는 데 사용됩니다.
exec(문자열 명령, String[] envp) 특정 환경의 프로세스에서 단일 문자열 명령을 실행하는 데 사용됩니다.
exec(String[] cmdarray, String[] envp, 파일 디렉토리) 특정 환경과 디렉토리가 있는 프로세스에서 인수가 있는 문자열 명령을 실행하는 데 사용됩니다.
exec(String[] cmdarray, String[] envp) 특정 환경의 프로세스에서 인수가 있는 문자열 명령을 실행하는 데 사용됩니다.

Java에서 Runtime.exec() 메서드를 구현하는 예를 살펴보겠습니다.

package delftstack;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

// Main class
public class Example {
  // Main driver method
  public static void main(String[] args) throws InterruptedException {
    try {
      // Use Runtime.getRuntime.exec on a separate process
      Process Demo_Process = Runtime.getRuntime().exec("java -version");

      // Get the output in the console

      String Output_Line;
      InputStreamReader Input_Stream_Reader = new InputStreamReader(Demo_Process.getInputStream());
      BufferedReader Buffered_Reader = new BufferedReader(Input_Stream_Reader);
      while ((Output_Line = Buffered_Reader.readLine()) != null) {
        System.out.println(Output_Line);
      }

      Input_Stream_Reader = new InputStreamReader(Demo_Process.getErrorStream());
      Buffered_Reader = new BufferedReader(Input_Stream_Reader);
      while ((Output_Line = Buffered_Reader.readLine()) != null) {
        System.out.println(Output_Line);
      }
      // Wait for the process to complete
      Demo_Process.waitFor();

    } catch (IOException ex) {
      ex.printStackTrace();
    }
  }
}

위의 코드는 java -version 명령으로 Runtime.getRuntime.exec() 메서드를 실행하고 콘솔에서 출력을 가져옵니다. 출력 보기

java version "17.0.2" 2022-01-18 LTS
Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)
작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook