Diferencia entre ProcessBuilder y Runtime.exec ()
Estoy tratando de ejecutar un comando externo desde el código de Java, pero hay una diferencia que he notado entreRuntime.getRuntime().exec(...)
ynew Process(...).start()
.
Cuando usasRuntime
:
Process p = Runtime.getRuntime().exec(installation_path +
uninstall_path +
uninstall_command +
uninstall_arguments);
p.waitFor();
the exitValue es 0 y el comando termina bien.
Sin embargo, conProcessBuilder
:
Process p = (new ProcessBuilder(installation_path +
uninstall_path +
uninstall_command,
uninstall_arguments)).start();
p.waitFor();
el valor de salida es 1001 y el comando termina en el medio, aunquewaitFor
devoluciones
¿Qué debo hacer para solucionar el problema conProcessBuilder
?