Javaプログラムからシェルスクリプトを実行しようとしましたが、スクリプト全体が実行されていません。なぜこのような問題が起こるのか?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();
}
にスクリプトが正常に実行ではなく、全体のスクリプトが実行されます。 1行目だけが実行されているようです。
スクリプトの最初の行は何ですか?最初の行だけが実行されていますか? – 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'を消費して(そして何らかの形で報告して)、例えば照らしているかもしれません(実際は問題の根)。 –