実行可能jarを呼び出すJavaアプリケーション(プリンシパル)があります。
Process p = Runtime.getRuntime().exec(java -jar C:\\PFC\\maestro.jar)
p.waitFor();
maestro.jarは、2つのスレッドを作成し、別の実行可能jar(プロセス変数は「b」)を呼び出すJavaアプリケーションです。それから私はこのように彼らを待ちます:
b.destroy(); //kill other executable jar that is called
manejadora.join(); //thread finished
controlador.join(); //thread finished
System.out.println("all finished");
maestro.jarは正しく実行され、実行するとEclipseで「終了」と表示されるため、問題はありません。
プリンシパルがmaestro.jarを実行しようとすると、正しく実行されますが、maestro.jarがすでに終了している場合、プリンシパルは「p.waitFor()」でmaestro.jarを待機し続けます。
理由がわかりません。
これについてオリエンテーションをお願いします。本当にありがとう!