私はJavaコードから外部コマンドを実行しようとしていますが、Runtime.getRuntime().exec(...)
との間に気付いた違いがあり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
ですか?