Server

java 어플리케이션에서 시스템 명령어 사용하려면?

hoonylab 2025. 4. 23. 11:29
728x90
반응형

✅ Java의 ProcessBuilder란?

ProcessBuilder는 Java 5부터 추가된 클래스이며, 외부 프로그램이나 쉘 명령어를 실행할 수 있게 도와주는 도구입니다.

✨ 언제 사용하나?

  • 운영체제 명령어를 호출해야 할 때
  • Java 외부 프로그램을 실행해야 할 때
  • 외부 프로그램의 실행 결과를 Java에서 읽거나 처리할 때
  • 백엔드 시스템이 외부 CLI 툴과 연동될 때

📌 주요 메서드와 특징

메서드 / 기능설명
command(List<String>)실행할 명령어 설정
directory(File)작업 디렉토리 설정
environment()환경 변수 설정
start()프로세스 시작
redirectInput/Output/Error()입출력 리디렉션 가능

🧪 실전 예제

✅ 예제 1: 디렉토리 목록 출력

ProcessBuilder pb = new ProcessBuilder("ls", "-l");
Process process = pb.start();
// 결과 출력

✅ 예제 2: 파이썬 스크립트 실행

ProcessBuilder pb = new ProcessBuilder("python3", "script.py");
pb.directory(new File("/home/user/scripts"));
Process process = pb.start();

✅ 예제 3: 명령어 실패 시 에러 출력 읽기

ProcessBuilder pb = new ProcessBuilder("ls", "/invalid/path");
Process process = pb.start();
// 에러 스트림 읽기
728x90
반응형