Runtime.getRuntime().exec(...)
Java コードから外部コマンドを実行しようとしていますが、との間には違いがあることに気付きましたnew ProcessBuilder(...).start()
。
使用時Runtime
:
Process p = Runtime.getRuntime().exec(installation_path +
uninstall_path +
uninstall_command +
uninstall_arguments);
p.waitFor();
exitValue は 0 で、コマンドは正常に終了します。
ただし、次の場合ProcessBuilder
:
Process p = (new ProcessBuilder(installation_path +
uninstall_path +
uninstall_command,
uninstall_arguments)).start();
p.waitFor();
終了値は 1001 で、コマンドは途中で終了しますが、waitFor
戻ります。
の問題を解決するにはどうすればよいProcessBuilder
ですか?