Java에서 ProcessBuilder 사용 ls, pwd, echo 등의 간단한 터미널 명령을 실행할 수 있습니다. 그러나 다음 코드는 종료됩니다. 왜 그런지 알아?Java 프로그램 (Eclipse)에서 특정 터미널 명령을 실행할 수 없습니다.
public static void main(String[] args) throws Exception
{
Runtime r = Runtime.getRuntime();
Process p = r.exec("echo 'T W O N E I G H T' | /home/saj/g2p/mosesdecoder-master/bin/moses -f /home/saj/g2p/working/binarised-model/moses.ini");
p.waitFor();
BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = b.readLine()) != null)
{
System.out.println(line);
}
}
이 명령은 터미널에서 완벽하게 작동하며 실행하는데 약 15 초가 걸리고 결과를 제공합니다. 비슷한 주제를 통해 stackoverflow에 갔지만 어떤 도움도 찾지 못했습니다. 도와주세요. 미리 감사드립니다.
'하지만 다음 코드가 종료됩니다. '... 예외 또는 오류는 무엇입니까? – Azodious