Javaから外部プログラムを実行しているので、それがうまくいかない理由はわかりません。Javaが再起動しないのはJavaのせいではないと思います。再起動の方法に問題がある可能性があります。私はあなたに代替手段を提供します:
を使用する代わりに、プロセスの開始Runtime.exec()
を試み 、クラスProcessBuilder.start()
のメソッドを使用してプロセスを強制終了します。ビルダーを使用して Explorer を表すオブジェクトを作成し、それを type の変数に割り当てるだけで問題なく動作するはずです。destroy()
Process
Process
ProcessBuilder を使用した方が簡単だと思う唯一の理由は、引数を個別の文字列として受け取り、スクリプトの構成が容易になるためです。
例:
List<String> params = java.util.Arrays.asList("C:\myProgram.exe", "-arg1", "-arg2");
ProcessBuilder pb = new ProcessBuilder(params);
Process process = pb.start();
試してみてください。うまくいくと思います。