我正在尝试从java代码执行一个外部命令,但是我注意到Runtime.getRuntime().exec(...)和之间存在差异new ProcessBuilder(...).start().
使用时Runtime:
Process p = Runtime.getRuntime().exec(installation_path +
uninstall_path +
uninstall_command +
uninstall_arguments);
p.waitFor();
Run Code Online (Sandbox Code Playgroud)
exitValue为0,命令终止ok.
但是,有ProcessBuilder:
Process p = (new ProcessBuilder(installation_path +
uninstall_path +
uninstall_command,
uninstall_arguments)).start();
p.waitFor();
Run Code Online (Sandbox Code Playgroud)
退出值为1001,命令终止于中间,但waitFor返回.
我该怎么做才能解决问题ProcessBuilder?