Diferença entre ProcessBuilder e Runtime.exec ()
Estou tentando executar um comando externo a partir do código java, mas há uma diferença que notei entreRuntime.getRuntime().exec(...)
enew Process(...).start()
.
Quando usarRuntime
:
Process p = Runtime.getRuntime().exec(installation_path +
uninstall_path +
uninstall_command +
uninstall_arguments);
p.waitFor();
o exitValue é 0 e o comando é finalizado o
No entanto, comProcessBuilder
:
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, emborawaitFor
retorna.
O que devo fazer para corrigir o problema comProcessBuilder
?