[java] 자바에서 유닉스/리눅스 시스템 호출을 사용하여 프로세스에 환경 변수를 전달하는 방법에 대해 알려주세요.

먼저, 새로운 ProcessBuilder 객체를 만들고, environment() 메서드를 사용하여 현재 환경 변수 맵을 얻습니다. 그런 다음 원하는 환경 변수를 추가하고 수정한 다음, command() 메서드를 사용하여 호출할 명령어와 인수를 설정합니다.

아래는 예시 코드입니다.

import java.util.Map;

public class ProcessBuilderExample {
    public static void main(String[] args) {
        try {
            ProcessBuilder processBuilder = new ProcessBuilder();
            Map<String, String> environment = processBuilder.environment();
            environment.put("YOUR_ENV_VARIABLE", "your_value");

            processBuilder.command("your_command", "argument1", "argument2");

            Process process = processBuilder.start();

            // 추가적인 처리나 출력 로직을 넣을 수 있습니다.

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 “YOUR_ENV_VARIABLE”은 원하는 환경 변수의 이름이고 “your_value”는 해당 변수의 값입니다.

더 많은 정보를 원하시면 아래 자바 공식 문서를 참고하시기 바랍니다.

참고 문헌: