본문 바로가기

프로그래밍/JAVA

JSP 페이지에서 쉘스크립트 실행 하기

반응형


JSP 페이지에서 쉘스크립트 실행 하기  


유닉스 쉘 스크립트를 실행하기 위해서는, 먼저 쉘을 실행할 필요가 있다.
자바 runtime 클래스의 객체를 사용하면서 할 수 있다.

rtime = Runtime.getRuntime();
Process child = rtime.exec("bin/bash");

스크립트가 path에 있다고 가정하고, 쉘의 stdin stream에 쉘 스크립트의 이름을 쓰면 스크립트를 실행할 수 있다. 아래 코드 예제는 MyShellScript라는 쉘 스크립트를 실행한다:

BufferedWriter outCommand = new BufferedWriter(new
OutputStreamWriter(child.getOutputStream()));
outCommand.writeLine("MyShellScript");
outCommand.flush();

쉘 스크립트에서 리턴 코드를 얻으려면 다음과 같이 한다:

Process.exitValue() function.

이 경우에는

int retCode = child.exitValue();

한 가지 주의해야할 점은, 스크립트는 JVM 내에서 스레드가 아니라 독립된 프로세스로 동시에 실행된다는 것이다.

프로세스가 끝날 때까지 기다리기 위해서, Process.waitFor()를 호출한다.

이 경우: child.waitFor();
 

반응형