public static void executeCommand(String cmd) {
try {
Process process = Runtime.getRuntime().exec(cmd, null,
new File("/usr/hadoop-0.20.2/"));
InputStream stdin = process.getInputStream();
InputStreamReader isr = new InputStreamReader(stdin);
BufferedReader br = new BufferedReader(isr);
String line;
System.out.println("<output></output>");
while ((line = br.readLine()) != null)
System.out.println(line);
InputStreamReader esr = new InputStreamReader(
process.getErrorStream());
BufferedReader errorReader = new BufferedReader(esr);
String lineError;
while ((lineError = errorReader.readLine()) != null)
System.out.println(lineError);
process.waitFor();
System.out.println("");
} catch (Exception e) {
e.printStackTrace();
}
}
다음은 'cmd'라는 명령을 실행하기위한 코드입니다. 하지만이 코드를 통해 실시간 결과물을 얻을 수는 없습니다. 명령이 완료되면 출력이 나옵니다. 나는 실시간 출력을 원한다. 이것을 할 수있는 방법이 있습니까?내 Runtime.getRuntime()의 실시간 출력을 원합니다. exec()
실시간 출력 대 명령 실행 시점을 명확하게 설명해주십시오. 'ls'가 완성 코드를 생성하는 목록과 같은 뜻입니까? – Edmon