2013-11-25 7 views
2

Java 클래스에서 Runtime.execute()를 사용하여 unix schell 스크립트를 실행하려고합니다. 그러나 이것을하면서 exitValue 139를 얻고 있습니다. 코드 조각을 찾아주세요 :Java에서 쉘 실행 오류

try{String scriptName = "test.ksh"; 
String argParameter = "satish"; // parameter passed to ksh 
file.String scriptToBePassed = "/usr/bin/ksh "+scriptName+" "+argParameter; 
Process proc = Runtime.getRuntime().exec(scriptToBePassed); 
int exitValue = proc.waitFor(); 
s.o.p("Exit Value is : "+exitValue);}catch(Exception e){ e.printStackTrace();} 

2 단계) test.ksh 파일은 내부적으로 exe 파일을 호출하고는 인수를 받아들입니다.

위 코드를 실행하는 동안 139 종료 값을 얻습니다.

또한 수동으로 스크립트를 실행하면 성공한 것입니다.

위의 Java 코드는 /usr/bin/ksh test.ksh satish 명령을 생성합니다.

이 명령은 수동으로 실행하는 데 사용됩니다.

답변

0

전체 경로 사용 전체 경로는 셸 스크립트의 경로를 의미합니다. ?? 나는/usr/bin/ksh /satish/bexe/test.ksh와 같은 것을 과 같이 사용한다. 은/satish/bexe 영역에 스크립트를 둔다.