public abstract class Process
extends Object
java.lang.Object | |
↳ | java.lang.Process |
start()
和Runtime.exec
方法创建本机进程并返回一个Process
子类的实例,该实例可用于控制进程并获取有关该进程的信息。 类Process
提供了从进程执行输入,执行输出到进程,等待进程完成,检查进程的退出状态以及销毁(终止)进程的方法。
创建进程的方法可能不适用于某些本机平台上的特殊进程,例如本机窗口进程,守护进程进程,Microsoft Windows上的Win16 / DOS进程或shell脚本。
默认情况下,创建的子流程没有自己的终端或控制台。 其所有的标准I / O(即标准输入,标准输出,标准错误)操作将被重定向到父进程,在那里他们可以经由使用所述方法获得的流进行访问getOutputStream()
, getInputStream()
,和getErrorStream()
。 父进程使用这些流将输入提供给子进程并从子进程获取输出。 由于某些本地平台仅为标准输入和输出流提供有限的缓冲区大小,因此无法及时写入输入流或读取子流程的输出流可能导致子流程阻塞甚至死锁。
当不再有对 Process
对象的引用时子流程不会被 Process
,而是子流程继续异步执行。
对于拥有 Process
对象的Java进程,并不要求由 Process
对象表示的进程异步或同时执行。
从1.5开始, start()
是创建 Process
的首选方法。
Public constructors |
|
---|---|
Process() |
Public methods |
|
---|---|
abstract void |
destroy() 杀死子进程。 |
abstract int |
exitValue() 返回子流程的退出值。 |
abstract InputStream |
getErrorStream() 返回连接到子流程错误输出的输入流。 |
abstract InputStream |
getInputStream() 返回连接到子流程正常输出的输入流。 |
abstract OutputStream |
getOutputStream() 返回连接到子进程正常输入的输出流。 |
abstract int |
waitFor() 如果有必要,导致当前线程等待,直到由此 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int exitValue ()
返回子流程的退出值。
Returns | |
---|---|
int |
the exit value of the subprocess represented by this Process object. By convention, the value 0 indicates normal termination. |
Throws | |
---|---|
IllegalThreadStateException |
if the subprocess represented by this Process object has not yet terminated |
InputStream getErrorStream ()
返回连接到子流程错误输出的输入流。 该流获取从此Process
对象所表示的进程的错误输出Process
。
实现注释:返回的输入流被缓冲是一个好主意。
Returns | |
---|---|
InputStream |
the input stream connected to the error output of the subprocess |
InputStream getInputStream ()
返回连接到子流程正常输出的输入流。 流获得从由该所表示的过程的标准输出管道数据Process
对象。
实现注释:返回的输入流被缓冲是一个好主意。
Returns | |
---|---|
InputStream |
the input stream connected to the normal output of the subprocess |
OutputStream getOutputStream ()
返回连接到子进程正常输入的输出流。 输出到流被输入到由此Process
对象表示的进程的标准输入中。
实现注意事项:返回的输出流被缓冲是一个好主意。
Returns | |
---|---|
OutputStream |
the output stream connected to the normal input of the subprocess |
int waitFor ()
如果有必要,导致当前线程等待,直到由此Process
对象表示的进程终止。 如果子进程已经终止,则此方法立即返回。 如果子进程尚未终止,则调用线程将被阻塞,直到子进程退出。
Returns | |
---|---|
int |
the exit value of the subprocess represented by this Process object. By convention, the value 0 indicates normal termination. |
Throws | |
---|---|
InterruptedException |
if the current thread is interrupted by another thread while it is waiting, then the wait is ended and an InterruptedException is thrown. |