Is there an alternative to Runtime.getRuntime().exec()

java, runtime.exec

Solution

How about ProcessBuilder?

A bit more:

Introduced in Java 1.5, allows you to gain more control on the process environment - set the working directory, let you redirect the error stream to the input stream (from java POV) and a few more things.

From Oracle's site:

ProcessBuilder - The new ProcessBuilder class provides a more convenient way to invoke subprocesses than does Runtime.exec. In particular, ProcessBuilder makes it easy to start a subprocess with a modified process environment (that is, one based on the parent's process environment, but with a few changes).

Problem

Just wondering, if there is something better, newer, safer, faster, etc than `Runtime.getRuntime().exec()`. I want to run another process from my application on linux, and this is the only way i know how. Would be nice to have an alternative.

Original source