相关疑难解决方法(0)

ProcessBuilder和Runtime.exec()之间的区别

我正在尝试从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

java runtime.exec processbuilder

93
推荐指数
4
解决办法
11万
查看次数

标签 统计

java ×1

processbuilder ×1

runtime.exec ×1