Java 프로그램에서 셸 스크립트를 실행하려했지만 전체 스크립트가 실행되고 있지 않습니다. 그리고 왜 우리가 그런 문제를 겪게 될지 생각해?Java 프로그램에서 실행 된 스크립트의 일부분 만
File file = new File("/path/to/script");
String COMMAND= "./run";
ProcessBuilder p = new ProcessBuilder(COMMAND);
p.directory(file);
try {
Process startProcess= p.start();
} catch (IOException e) {
e.printStackTrace();
}
스크립트는 잘 실행하지만 전체하지 스크립트가 실행됩니다
자바 코드는 쉘 스크립트를 실행합니다. 그것은 단지 첫 번째 라인이 실행되고있는 것 같습니다.
스크립트의 첫 번째 줄은 무엇입니까? 첫 번째 라인 만 실행됩니까? – Mat
이 중복 가능성을 참고하십시오 : [ProcessBuilder를 사용하여 java에서 프로그램을 시작하지 못했습니다.] (http://stackoverflow.com/questions/1043611/failure-to-start-program-from-java-using-processbuilder) – trashgod
이 문제에 대해 듣고 위의 코드를 보면 Runtime.exec()이 (가) 안되는 모든 팁을 읽고 구현하는 것이 좋습니다. (http://www.javaworld.com/javaworld/jw- 12-2000/jw-1229-traps.html). 예를 들어,'Process'의'System.out' /'err'을 소비하는 것 (예를 들어, 문제의 근원)을 비추는 것 (그리고 어떤 방식으로보고)을 소비하는 것입니다. –