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