Javaからシステムコマンドを実行しようとしたのはこれが初めてではありません。でも今回はとても大変でした。ターミナルから問題なく実行されるスクリプトがあります。ファイル(input.txt)から入力を読み取り、それを処理して、結果を別のファイル(ouput.txt)にエクスポートします。全体の持続時間は1秒以内です。しかし、Javaから実行しようとすると、スタックして終了しません。これは私のコードです:
Process p = new ProcessBuilder("./runCalculator.sh").start();
p.waitFor();
私も試してみましRuntime.getRuntime().exec("./runCalculator.sh")
たが、すべて同じです。プロセスのInputStreamとErrorStreamの両方を読みました。エラーストリームは、「計算を開始しています...」のようなメッセージのみを返します。
何か案は?