Estou tentando executar um comando externo de código java, mas há uma diferença que notei entre Runtime.getRuntime().exec(...)
e new ProcessBuilder(...).start()
.
Ao usar Runtime
:
Process p = Runtime.getRuntime().exec(installation_path +
uninstall_path +
uninstall_command +
uninstall_arguments);
p.waitFor();
o exitValue é 0 e o comando é encerrado ok.
No entanto, com ProcessBuilder
:
Process p = (new ProcessBuilder(installation_path +
uninstall_path +
uninstall_command,
uninstall_arguments)).start();
p.waitFor();
o valor de saída é 1001 e o comando termina no meio, embora waitFor
retorne.
O que devo fazer para corrigir o problema ProcessBuilder
?