리눅스에서 java runtime exec() 로 수행이 잘 안되서요.
글쓴이: 1001011 / 작성시간: 토, 2006/11/04 - 4:31오후
안녕하세요. 궁금한게 있어서 글올립니다. ^^;
public RunNLOAD(){
try {
Process proc = Runtime.getRuntime().exec("RunNLOAD");
proc.waitFor();
if(proc.exitValue() != 0)
System.out.println("eer");
proc.destroy();
} catch(Exception e) {
System.out.println( e.toString() );
}
}
위에서 RunNLOAD는 nload라는 네트워크 bandwidth를 측정해주는 프로그램을 실행시키고, 그 결과화면을 파일로 출력하는 쉘 스크립트입니다.
(그냥 간단하게 nload >> log 이런식이거든요;;)
근데 쉘 스크립트만 따로 실행하면 결과파일이 제대로 잘 나오는데,
꼭 자바로 exec로 하면 결과파일이 제대로 출력이 안되더라구요.
내용도 잘려서 나와요.
왜 자바 통해서 실행시키면 결과파일이 이상해지는 걸까요.
-_ㅜ 조언부탁드려요..
Forums:
표준출력을 자바 런타임이 가져가기 때문일것 같습니다.
표준출력을 자바 런타임이 가져가기 때문일것 같습니다.
proc.getInputStream()을 사용해서 출력을 따로 처리해 보세요.
Runtime.exe() 로 shell 을
Runtime.exe() 로 shell 을 수행할 때,
shell 내부에 첫 라인에 #!/bin/sh 이 없는 경우
수행되지 않는 현상이 있었습니다.
댓글 달기