Runtime.exec()를 사용하여 파이프 작업
Java에서 파이프를 사용하여 명령을 실행하려면 다음 단계를 수행할 수 있습니다. :
방법 1: 스크립트
파이프 기능은 일반적으로 셸의 일부이므로 별도의 명령 대신 스크립트를 작성하고 실행하는 것이 한 가지 접근 방식입니다. 예는 다음과 같습니다.
String script = "ls /etc | grep release"; Process process = Runtime.getRuntime().exec("/bin/sh", "-c", script);
방법 2: ProcessBuilder 사용
대체 방법은 명령 실행을 더 효과적으로 제어할 수 있는 Java의 ProcessBuilder 클래스를 활용하는 것입니다. 방법은 다음과 같습니다.
ProcessBuilder processBuilder = new ProcessBuilder("/bin/ls", "/etc") .redirectOutput(new ProcessBuilder.Redirect().pipe()) .redirectErrorStream(true); Process process = processBuilder.start(); InputStream inputStream = process.getInputStream(); byte[] buffer = new byte[16]; inputStream.read(buffer, 0, buffer.length); System.out.println(new String(buffer));
방법 3: 문자열 배열 사용
마지막으로 문자열 배열을 exec() 메서드에 전달할 수도 있습니다. , 여기서 각 문자열은 명령이나 인수를 나타냅니다. 이 접근 방식은 이전 접근 방식과 유사하지만 약간 더 많은 구성이 필요합니다.
String[] cmd = { "/bin/sh", "-c", "ls /etc | grep release" }; Process process = Runtime.getRuntime().exec(cmd);
이러한 방법을 활용하면 Runtime.exec()를 사용하여 Java에서 셸 명령을 호출할 때 파이프 작업을 효과적으로 수행할 수 있습니다. 파이프 동작은 플랫폼에 따라 다를 수 있으므로 잠재적인 차이점에 유의하세요.
위 내용은 `Runtime.exec()`를 사용하여 Java에서 파이프로 셸 명령을 어떻게 실행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!