パッケージ org.opengion.fukurou.util

クラス Shell

java.lang.Object
org.opengion.fukurou.util.Shell

public class Shell extends Object
Shell は、Runtime.exec の簡易的に実行するクラスです。 複雑な処理は通常の Runtime.exec を使用する必要がありますが、ほとんどの プロセス実行については、このクラスで十分であると考えています。 このクラスでは、OS(特にWindows)でのバッチファイルの実行において、 OS自動認識を行い、簡易的なコマンドをセットするだけで実行できるように しています。
導入されたバージョン:
JDK5.0,
  • フィールドの概要

    フィールド
    修飾子とタイプ
    フィールド
    説明
    static final int
    Shell オブジェクトの状態を表します。
    static final int
    Shell オブジェクトの状態を表します。
    static final int
    Shell オブジェクトの状態を表します。
    static final int
    Shell オブジェクトの状態を表します。
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    デフォルトコンストラクター
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    void
    サブプロセスを終了します。
    int
    プロセスの実行処理。
    int
    サブプロセスの終了コードを返します。
    プロセスが実際に実行するコマンドを取得します。
    プロセスの実行時のエラー出力を取得します。
    プロセスの実行時の標準出力を取得します。
    boolean
    プロセスが終了しているかどうか[true/false]を確認します。
    void
    プロセスを実行する時に引き渡すコマンド。
    void
    setCommand(String cmd, boolean batch)
    プロセスを実行する時に引き渡すコマンド 第2引数には、コマンドがBATかEXEかを指定できます。
    void
    setEnvP(String... env)
    環境変数設定の配列指定します。
    void
    setTimeout(int tout)
    プロセスの実行処理のタイムアウトを設定します。
    void
    setWait(boolean flag)
    プロセスの実行処理の終了を待つかどうか。
    void
    作業ディレクトリを指定します。
    この Shell のインフォメーション(情報)を出力します。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • フィールド詳細

  • コンストラクタの詳細

    • Shell

      public Shell()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • 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 は正常終了を示す
      変更履歴:
      8.5.3.2 (2023/10/13) JDK21対応。警告: [deprecation] Runtimeのexec(String,String[],File)は推奨されません
    • getStdoutData

      プロセスの実行時の標準出力を取得します。
      戻り値:
      実行時の標準出力文字列
    • 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 のインフォメーション(情報)を出力します。 コマンド、開始時刻、終了時刻、状態(実行中、終了)などの情報を、 出力します。
      オーバーライド:
      toString クラス内 Object
      戻り値:
      インフォメーション(情報)
      変更履歴:
      5.5.7.2 (2012/10/09) HybsDateUtil を利用するように修正します。, 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
      このメソッドは、nullを返しません