Java Platform 1.2
Beta 4

Class java.lang.Process

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

public abstract class Process
extends Object
The Runtime.exec methods create a native process and return an instance of a subclass of Process that can be used to control the process and obtain information about it.

The Runtime.exec methods may not work well for special processes on certain native platforms, such as native windowing processes, daemon processes, Win16/DOS processes on Win32, or shell scripts. The created subprocess does not have its own terminal or console. All its standard io (i.e. stdin, stdout, stderr) operations will be redirected to the parent process through three streams (Process.getOutputStream(), Process.getInputStream(), Process.getErrorStream()). The parent process uses these streams to feed input to and get output from the subprocess. Because some native platforms only provide limited buffer size for standard input and output streams, failure to promptly write the input stream or read the output stream of the subprocess may cause the subprocess to block, and even deadlock.

The subprocess is not killed when there are no more references to the Process object, but rather the subprocess continues executing asynchronously.

Since:
JDK1.0
See Also:
Runtime.exec(java.lang.String), Runtime.exec(java.lang.String, java.lang.String[]), Runtime.exec(java.lang.String[]), Runtime.exec(java.lang.String[], java.lang.String[])

Method Summary
abstract  void destroy()
          Kills the subprocess.
abstract  int exitValue()
          Returns the exit value for the subprocess.
abstract  InputStream getErrorStream()
          Gets the error stream of the subprocess.
abstract  InputStream getInputStream()
          Gets the input stream of the subprocess.
abstract  OutputStream getOutputStream()
          Gets the output stream of the subprocess.
abstract  int waitFor()
          Waits for the subprocess to complete.
 
Methods inherited from class java.lang.Object
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

Method Detail

getOutputStream

public abstract OutputStream getOutputStream()
Gets the output stream of the subprocess. This stream is usually buffered.
Returns:
the output stream connected to the normal input of the subprocess.

getInputStream

public abstract InputStream getInputStream()
Gets the input stream of the subprocess. This stream is usually buffered.
Returns:
the input stream connected to the normal output of the subprocess.

getErrorStream

public abstract InputStream getErrorStream()
Gets the error stream of the subprocess. This stream is usually unbuffered.
Returns:
the input stream connected to the error stream of the subprocess.

waitFor

public abstract int waitFor()
                     throws InterruptedException
Waits for the subprocess to complete. This method returns immediately if the subprocess has already terminated. If the subprocess has not yet terminated, the calling thread will be blocked until the subprocess exits.
Returns:
the exit value of the process.
Throws:
InterruptedException - if the waitFor was interrupted.

exitValue

public abstract int exitValue()
Returns the exit value for the subprocess.
Returns:
the exit value of the subprocess.
Throws:
IllegalThreadStateException - if the subprocess has not yet terminated.

destroy

public abstract void destroy()
Kills the subprocess.

Java Platform 1.2
Beta 4

Submit a bug or feature
Submit comments/suggestions about new javadoc look
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.
This documentation was generated with a post-Beta4 version of Javadoc.