JavaIsGreat
JavaIsGreat

Reputation: 945

ProcessBuilder vs Runtime.exec()

Which one is better? By better I mean which one has better security, etc. (not ease of use).

Upvotes: 14

Views: 5278

Answers (1)

Joachim Sauer
Joachim Sauer

Reputation: 308031

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:

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

Upvotes: 32

Related Questions