Я пытаюсь выполнить внешнюю команду из 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
?