Saya mencoba untuk menjalankan perintah eksternal dari kode java, tetapi ada perbedaan yang saya perhatikan antara Runtime.getRuntime().exec(...)
dan new ProcessBuilder(...).start()
.
Saat menggunakan Runtime
:
Process p = Runtime.getRuntime().exec(installation_path +
uninstall_path +
uninstall_command +
uninstall_arguments);
p.waitFor();
exitValue adalah 0 dan perintah dihentikan dengan ok.
Namun, dengan ProcessBuilder
:
Process p = (new ProcessBuilder(installation_path +
uninstall_path +
uninstall_command,
uninstall_arguments)).start();
p.waitFor();
nilai keluar adalah 1001 dan perintah berakhir di tengah, meskipun waitFor
kembali.
Apa yang harus saya lakukan untuk mengatasi masalah tersebut ProcessBuilder
?