2013-09-06 4 views
0

KornShell (ksh) 명령을 실행하려면 java.lang.Runtime 클래스를 사용하고 싶습니다. Java가 특정 명령에 대한 표준 출력 및 표준 오류를 인쇄하는 가장 좋은 방법은 무엇입니까?KornShell (ksh) 명령을 실행하기위한 Java 하위 프로세스

그래서, 만약 내가

Process command = Runtime.getRuntime.exec("ls -l"); 

내가 어떻게 진행할 것이라고 선언?

답변

2

java.lang.Process 입력 스트림 (프로세스 출력이 파이프되는 곳)을 검색 할 수 있습니다. 거기에서 standard IO techniques to process it을 사용할 수 있습니다. 다음 예제는 EOF가 발생할 때까지 shell 명령으로 파이프 된 모든 출력을 System.out에 인쇄합니다.

Java 동시성에 대한 기본적인 지식을 가지고 계십시오. 실행중인 명령이 종료되지 않은 경우 위의 루프가 계속 실행됩니다.

+0

알기 쉽게 설명해 주셔서 감사합니다. –

+0

"wc file.java"와 같은 명령이이 루프를 건너 뜁니다. "wc file.java"와 같은 명령에 대해 표준 출력/오류를 얻으려면 어떻게해야합니까? –

+0

위 예제는 stdout 만 읽었고 sterr을 읽으려면'getErrorStream()'을 사용하십시오. java.lang.Process javadoc을 읽으십시오. http://docs.oracle.com/javase/6/docs/api/java/lang/Process.html – gerrytan

관련 문제