java.lang
public abstract class Process extends Object
Process
is created by the
Runtime.exec
methods. Methods in Process
provide a means to send input to a process, obtain the output from a
subprocess, destroy a subprocess, obtain the exit value from a
subprocess, and wait for a subprocess to complete.
This is dependent on the platform, and some processes (like native windowing processes, 16-bit processes in Windows, or shell scripts) may be limited in functionality. Because some platforms have limited buffers between processes, you may need to provide input and read output to prevent the process from blocking, or even deadlocking.
Even if all references to this object disapper, the process continues to execute to completion. There are no guarantees that the subprocess execute asynchronously or concurrently with the process which owns this object.
Runtime.exec(String[], String[], File)
Constructor and Description |
---|
Process()
Empty constructor does nothing.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
destroy()
Kills the subprocess and all of its children forcibly.
|
abstract int |
exitValue()
When a process terminates there is associated with that termination
an exit value for the process to indicate why it terminated.
|
abstract InputStream |
getErrorStream()
Obtain the input stream that receives data from the subprocess.
|
abstract InputStream |
getInputStream()
Obtain the input stream that receives data from the subprocess.
|
abstract OutputStream |
getOutputStream()
Obtain the output stream that sends data to the subprocess.
|
abstract int |
waitFor()
The thread calling
waitFor will block until the subprocess
has terminated. |
public Process()
public abstract OutputStream getOutputStream()
public abstract InputStream getInputStream()
public abstract InputStream getErrorStream()
public abstract int waitFor() throws InterruptedException
waitFor
will block until the subprocess
has terminated. If the process has already terminated then the method
immediately returns with the exit value of the subprocess.InterruptedException
- if another thread interrupts the blocked onepublic abstract int exitValue()
0
denotes normal process termination by convention.IllegalThreadStateException
- if the subprocess has not terminatedpublic abstract void destroy()