JavaTM 2 Platform
Std. Ed. v1.3

java.lang
クラス Process

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

public abstract class Process
extends Object

Runtime.exec メソッドは、ネイティブなプロセスを作成し、Process のサブクラスのインスタンスを返します。このインスタンスを使って、プロセスの制御や、プロセス情報の取得が行えます。Process クラスは、プロセスからの入力、プロセスへの出力、プロセス完了の待機、プロセス終了状態の確認、およびプロセスの破棄 (終了) を実行するための各メソッドを提供します。

Runtime.exec の各メソッドは、特定のネイティブなプラットフォーム上の特殊なプロセスではうまく動作しない場合があります。たとえば、ネイティブなウィンドウ処理プロセス、デーモンプロセス、Win32 環境での Win16/DOS プロセス、あるいはシェルスクリプトといったプロセスです。作成されたサブプロセスは、自身の端末またはコンソールを持ちません。サブプロセスの標準入出力処理 (すなわち stdin、stdout、および stderr) は、3 つのストリーム (Process.getOutputStream()Process.getInputStream()Process.getErrorStream()) によって親プロセスにリダイレクトされます。親プロセスはこれらのストリームを使って、サブプロセスに入力を送ったり、サブプロセスからの出力を取得したりします。ネイティブなプラットフォームには標準入出力ストリームに使うバッファのサイズが限られるものもあるので、サブプロセスの入力ストリームの書き込みあるいはストリーム出力の読み取りが失敗した場合、サブプロセスはブロックされるか、デッドロック状態になる可能性があります。

Process オブジェクトへの参照がなくなった場合でも、サブプロセスは終了されず、非同期的に実行を続けます。

Process オブジェクトが表すプロセスの実行については、Process オブジェクトを所有する Java プロセスと非同期でなかったり、並行でなかったりしてもかまいません。

導入されたバージョン:
JDK1.0
関連項目:
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[])

コンストラクタの概要
Process()
           
 
メソッドの概要
abstract  void destroy()
          サブプロセスを終了します。
abstract  int exitValue()
          サブプロセスの終了コードを返します。
abstract  InputStream getErrorStream()
          サブプロセスのエラーストリームを取得します。
abstract  InputStream getInputStream()
          サブプロセスの入力ストリームを取得します。
abstract  OutputStream getOutputStream()
          サブプロセスの出力ストリームを取得します。
abstract  int waitFor()
          必要な場合に、この Process オブジェクトが表すプロセスが終了するまで現在のスレッドを待機させます。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Process

public Process()
メソッドの詳細

getOutputStream

public abstract OutputStream getOutputStream()
サブプロセスの出力ストリームを取得します。ストリームへの出力は、この Process オブジェクトが表すプロセスの標準入力ストリームに渡されます。

実装上の注意点: 出力ストリームのバッファ処理をお勧めします。

戻り値:
サブプロセスの通常の入力に接続された出力ストリーム

getInputStream

public abstract InputStream getInputStream()
サブプロセスの入力ストリームを取得します。ストリームは、この Process オブジェクトが表すプロセスの標準出力ストリームから渡されたデータを取得します。

実装上の注意点: 入力ストリームのバッファ処理をお勧めします。

戻り値:
サブプロセスの通常の出力に接続された入力ストリーム

getErrorStream

public abstract InputStream getErrorStream()
サブプロセスのエラーストリームを取得します。ストリームは、この Process オブジェクトが表すプロセスのエラー出力ストリームから渡されたデータを取得します。

実装上の注意点: 入力ストリームのバッファ処理をお勧めします。

戻り値:
サブプロセスのエラーストリームに接続された入力ストリーム

waitFor

public abstract int waitFor()
                     throws InterruptedException
必要な場合に、この Process オブジェクトが表すプロセスが終了するまで現在のスレッドを待機させます。サブプロセスがすでに終了している場合、このメソッドはただちに復帰します。サブプロセスが終了していない場合、呼び出し元のスレッドはサブプロセスが終了するまでブロックされます。
戻り値:
プロセスの終了コード。0 は正常終了を示す
例外:
InterruptedException - 現在のスレッドが待機中にほかのスレッドによって割り込まれた場合、待機を終了して InterruptedException がスローされる

exitValue

public abstract int exitValue()
サブプロセスの終了コードを返します。
戻り値:
この Process オブジェクトが表すサブプロセスの終了コード。0 は正常終了を示す
例外:
IllegalThreadStateException - この Process オブジェクトが表すサブプロセスがまだ終了していない場合

destroy

public abstract void destroy()
サブプロセスを終了します。この Process オブジェクトが表すサブプロセスは強制終了されます。

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.