✅ 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();
// 에러 스트림 읽기