Index (Frames) | Index (No Frames) | Package | Package Tree | Tree
java.lang

Class Process

java.lang.Object
|
+--java.lang.Process


public abstract class Process

extends Object

An instance of a subclass of 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.

Since:Authors:See Also:

Constructor Summary

Process()

Empty constructor does nothing.

Method Summary

voiddestroy()

Kills the subprocess and all of its children forcibly.
intexitValue()

When a process terminates there is associated with that termination an exit value for the process to indicate why it terminated.
java.io.InputStreamgetErrorStream()

Obtain the input stream that receives data from the subprocess.
java.io.InputStreamgetInputStream()

Obtain the input stream that receives data from the subprocess.
java.io.OutputStreamgetOutputStream()

Obtain the output stream that sends data to the subprocess.
intwaitFor()

The thread calling waitFor will block until the subprocess has terminated.

Constructor Details

Process

public Process()

Empty constructor does nothing.


Method Details

destroy

public void destroy()

Kills the subprocess and all of its children forcibly.


exitValue

public int exitValue()

When a process terminates there is associated with that termination an exit value for the process to indicate why it terminated. A return of 0 denotes normal process termination by convention.

Returns:

Throws:


getErrorStream

public InputStream getErrorStream()

Obtain the input stream that receives data from the subprocess. This is the STDERR of the subprocess. When implementing, you should probably use a buffered stream.

Returns:


getInputStream

public InputStream getInputStream()

Obtain the input stream that receives data from the subprocess. This is the STDOUT of the subprocess. When implementing, you should probably use a buffered stream.

Returns:


getOutputStream

public OutputStream getOutputStream()

Obtain the output stream that sends data to the subprocess. This is the STDIN of the subprocess. When implementing, you should probably use a buffered stream.

Returns:


waitFor

public int waitFor()

The thread calling 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.

Returns:

Throws: