J'essaie d'exécuter une commande externe à partir du code java, mais il y a une différence que j'ai remarquée entre Runtime.getRuntime().exec(...)
et new ProcessBuilder(...).start()
.
Lors de l'utilisation Runtime
:
Process p = Runtime.getRuntime().exec(installation_path +
uninstall_path +
uninstall_command +
uninstall_arguments);
p.waitFor();
exitValue est 0 et la commande se termine ok.
Cependant, avec ProcessBuilder
:
Process p = (new ProcessBuilder(installation_path +
uninstall_path +
uninstall_command,
uninstall_arguments)).start();
p.waitFor();
la valeur de sortie est 1001 et la commande se termine au milieu, bien qu'elle waitFor
retourne.
Que dois-je faire pour résoudre le problème ProcessBuilder
?