クラス Shell
- java.lang.Object
-
- org.opengion.fukurou.util.Shell
-
public class Shell extends Object
Shell は、Runtime.exec の簡易的に実行するクラスです。 複雑な処理は通常の Runtime.exec を使用する必要がありますが,ほとんどの プロセス実行については、このクラスで十分であると考えています。 このクラスでは、OS(特にWindows)でのバッチファイルの実行において、 OS自動認識を行い、簡易的なコマンドをセットするだけで実行できるように しています。- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 Shell()
デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 void
destroy()
サブプロセスを終了します。int
exec()
プロセスの実行処理。int
exitValue()
サブプロセスの終了コードを返します。String
getCommand()
プロセスが実際に実行するコマンドを取得します。String
getStderrData()
プロセスの実行時のエラー出力を取得します。String
getStdoutData()
プロセスの実行時の標準出力を取得します。boolean
isEnd()
プロセスが終了しているかどうか[true/false]を確認します。void
setCommand(String cmd)
プロセスを実行する時に引き渡すコマンド。void
setCommand(String cmd, boolean batch)
プロセスを実行する時に引き渡すコマンド 第2引数には、コマンドがBATかEXEかを指定できます。void
setEnvP(String... env)
環境変数設定の配列指定します。void
setTimeout(int tout)
プロセスの実行処理のタイムアウトを設定します。void
setWait(boolean flag)
プロセスの実行処理の終了を待つかどうか。void
setWorkDir(File dir)
作業ディレクトリを指定します。String
toString()
この Shell のインフォメーション(情報)を出力します。
-
-
-
フィールドの詳細
-
OK
public static final int OK
Shell オブジェクトの状態を表します。正常 0- 関連項目:
- 定数フィールド値
-
RUNNING
public static final int RUNNING
Shell オブジェクトの状態を表します。実行中 1- 関連項目:
- 定数フィールド値
-
CANCEL
public static final int CANCEL
Shell オブジェクトの状態を表します。取消 9- 関連項目:
- 定数フィールド値
-
ERROR
public static final int ERROR
Shell オブジェクトの状態を表します。異常終了(負) -1- 関連項目:
- 定数フィールド値
-
-
メソッドの詳細
-
setCommand
public void setCommand(String cmd, boolean batch)
プロセスを実行する時に引き渡すコマンド 第2引数には、コマンドがBATかEXEかを指定できます。 true の場合は,バッチコマンドとして処理されます。- パラメータ:
cmd
- コマンドbatch
- true:バッチファイル/false:EXEファイル- 変更履歴:
- 3.3.3.0 (2003/07/09) Windows XP 対応, 3.7.0.1 (2005/01/31) Windows 2003 対応, Windows 95 除外, 3.8.9.2 (2007/07/13) Windows Vista 対応
-
setCommand
public void setCommand(String cmd)
プロセスを実行する時に引き渡すコマンド。- パラメータ:
cmd
- EXEコマンド
-
setWait
public void setWait(boolean flag)
プロセスの実行処理の終了を待つかどうか。- パラメータ:
flag
- true:待つ(デフォルト)/ false:待たない
-
setTimeout
public void setTimeout(int tout)
プロセスの実行処理のタイムアウトを設定します。 ゼロ(0) の場合は、割り込みが入るまで待ちつづけます。- パラメータ:
tout
- タイムアウト時間(秒) ゼロは、無制限
-
setWorkDir
public void setWorkDir(File dir)
作業ディレクトリを指定します。 シェルを実行する、作業ディレクトリを指定します。 指定しない場合は、このJava仮想マシンの作業ディレクトリで実行されます。- パラメータ:
dir
- 作業ディレクトリ
-
setEnvP
public void setEnvP(String... env)
環境変数設定の配列指定します。 環境変数を、name=value という形式で、文字列配列で指定します。 null の場合は、現在のプロセスの環境設定を継承します。- パラメータ:
env
- 文字列の配列(可変長引数)。
-
exec
public int exec()
プロセスの実行処理。- 戻り値:
- サブプロセスの終了コードを返します。0 は正常終了を示す
-
getStdoutData
public String getStdoutData()
プロセスの実行時の標準出力を取得します。- 戻り値:
- 実行時の標準出力文字列
-
getStderrData
public String getStderrData()
プロセスの実行時のエラー出力を取得します。- 戻り値:
- 実行時の標準出力文字列
-
getCommand
public String getCommand()
プロセスが実際に実行するコマンドを取得します。 バッチコマンドかどうかで、実行されるコマンドが異なりますので、 ここで取得して確認することができます。 主にデバッグ用途です。- 戻り値:
- 実行時の標準出力文字列
-
destroy
public void destroy()
サブプロセスを終了します。 この Process オブジェクトが表すサブプロセスは強制終了されます。
-
isEnd
public boolean isEnd()
プロセスが終了しているかどうか[true/false]を確認します。 この Process オブジェクトが表すサブプロセスは強制終了されます。- 戻り値:
- プロセスが終了しているかどうか[true/false]
- 変更履歴:
- 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
-
exitValue
public int exitValue()
サブプロセスの終了コードを返します。- 戻り値:
- この Process オブジェクトが表すサブプロセスの終了コード。0 は正常終了を示す
- 例外:
IllegalThreadStateException
- この Process オブジェクトが表すサブプロセスがまだ終了していない場合- 変更履歴:
- 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
-
toString
public String toString()
この Shell のインフォメーション(情報)を出力します。 コマンド、開始時刻、終了時刻、状態(実行中、終了)などの情報を、 出力します。
-
-