简体   繁体   English

ProcessBuilder与Runtime.exec()

[英]ProcessBuilder vs Runtime.exec()

Which one is better? 哪一个更好? By better I mean which one has better security, etc. (not ease of use). 更好的意思是哪一个具有更好的安全性等(不易于使用)。

Ease of use is the only real difference between those two. 易用性是这两者之间唯一真正的区别。

Note that ease of use can lead to security by helping to avoid mis-use. 请注意,易用性可以通过帮助避免误用来提高安全性。

At least on OpenJDK 6 Runtime.exec() is implemented using ProcessBuilder : 至少在OpenJDK 6上使用ProcessBuilder实现Runtime.exec()

public Process exec(String[] cmdarray, String[] envp, File dir)
    throws IOException {
    return new ProcessBuilder(cmdarray)
        .environment(envp)
        .directory(dir)
        .start();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM