Is there an alternative to Runtime.getRuntime().exec()
Asked Answered
A

1

10

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.

Algiers answered 15/8, 2011 at 19:5 Comment(3)
Is this way somehow (specifically) insufficient? It sounds like you're just asking for duplicated functionality.Mayne
java.lang.Process isn't newer. For some purposes it might be better.Cryohydrate
i am not saying there is anything wrong with getRuntime.exec its just that i learned about it many years ago in java 1.3, it's the only way i know how and was wondering if there is more than one way to skin a cat, thats all.Algiers
C
14

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).

Connate answered 15/8, 2011 at 19:7 Comment(2)
...raising my brow, scratching my chin in interest.Algiers
If I may ask...is there a way to execute commands from Java code without using ProcessBuilder and Runtime.getRuntime() API's?Heartily

© 2022 - 2024 — McMap. All rights reserved.