java.lang.Object | |
↳ | java.lang.Process |
Represents an external process. Enables writing to, reading from, destroying,
and waiting for the external process, as well as querying its exit value. Use
ProcessBuilder
to create processes.
The child process writes its output to two streams, out
and
err
. These streams should be read by the parent process using getInputStream()
and getErrorStream()
respectively. If these
streams are not read, the target process may block while it awaits buffer
space. It isn't sufficient to read the streams in sequence; to avoid blocking
each of the two streams must have its own reader thread. If you are not
interested in differentiating the out and err streams, use redirectErrorStream(true)
to
merge the two streams. This simplifies your reading code and makes it easier
to avoid blocking the target process.
Running processes hold resources. When a process is no longer used, the
process should be closed by calling destroy()
. This will kill the
process and release the resources that it holds.
For example, to run /system/bin/ping
to ping android.com
:
Process process = new ProcessBuilder()
.command("/system/bin/ping", "android.com")
.redirectErrorStream(true)
.start();
try {
InputStream in = process.getInputStream();
OutputStream out = process.getOutputStream();
readStream(in);
finally {
process.destroy();
}
}
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Terminates this process and closes any associated streams.
| |||||||||||
Returns the exit value of the native process represented by this object.
| |||||||||||
Returns an input stream that is connected to the error stream
(stderr) of the native process represented by this object.
| |||||||||||
Returns an input stream that is connected to the standard output stream
(stdout) of the native process represented by this object.
| |||||||||||
Returns an output stream that is connected to the standard input stream
(stdin) of the native process represented by this object.
| |||||||||||
Causes the calling thread to wait for the native process associated with
this object to finish executing.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Terminates this process and closes any associated streams.
Returns the exit value of the native process represented by this object. It is available only when the native process has terminated.
IllegalThreadStateException | if this process has not terminated. |
---|
Returns an input stream that is connected to the error stream (stderr) of the native process represented by this object.
Returns an input stream that is connected to the standard output stream (stdout) of the native process represented by this object.
Returns an output stream that is connected to the standard input stream (stdin) of the native process represented by this object.
Causes the calling thread to wait for the native process associated with this object to finish executing.
InterruptedException | if the calling thread is interrupted. |
---|