実行ユーティリティ

public class RunUtil
extends Object implements IRunUtil

java.lang.Object
   ↳ com.android.tradefed.util.RunUtil


オペレーションを実行するためのヘルパー メソッドのコレクション。

概要

フィールド

public static final String INHERITIO_PREFIX

public static final String RUNNABLE_NOTIFIER_NAME

パブリック コンストラクタ

RunUtil()

使用する新しい RunUtil オブジェクトを作成します。

パブリック メソッド

void allowInterrupt(boolean allow)

現在のスレッドでの実行割り込みを許可または禁止します。

static IRunUtil getDefault()

デフォルトの RunUtil オブジェクトへの参照を取得します。

void interrupt(Thread thread, String message, ErrorIdentifier errorId)

指定されたスレッドでの進行中または今後の実行オペレーションを中断します。

void interrupt(Thread thread, String message)

指定されたスレッドでの進行中または今後の実行オペレーションを中断します。

boolean isInterruptAllowed()

RunUtil の割り込みステータスを付与します。

Process runCmdInBackground(Redirect redirect, command)

ERROR(/List) 形式でコマンド引数を受け入れる代替 runCmdInBackground(String) メソッド。

Process runCmdInBackground( command)

ERROR(/List) 形式でコマンド引数を受け入れる代替 runCmdInBackground(String) メソッド。

Process runCmdInBackground( command, OutputStream output)

ERROR(/OutputStream) を指定してコマンドを実行すると、コマンドの出力がログに記録されます。

Process runCmdInBackground(String... command)

システム コマンドを非同期で実行するヘルパー メソッド。

Process runCmdInBackground(Redirect redirect, String... command)

システム コマンドを非同期で実行するヘルパー メソッド。

boolean runEscalatingTimedRetry(long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

オペレーションをブロックし、成功するまで複数回実行します。

boolean runFixedTimedRetry(long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

オペレーションをブロックし、成功するまで複数回実行します。

boolean runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

オペレーションをブロックし、成功するまで複数回実行します。

CommandStatus runTimed(long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

オペレーションをブロックして実行し、指定された時間よりも時間がかかる場合は中止します。

CommandResult runTimedCmd(long timeout, OutputStream stdout, OutputStream stderr, String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中止し、指定された場合は出力をファイルにリダイレクトするヘルパー メソッド。

CommandResult runTimedCmd(long timeout, String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中止するヘルパー メソッド。

CommandResult runTimedCmdRetry(long timeout, long retryInterval, int attempts, String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中止するヘルパー メソッド。

CommandResult runTimedCmdRetryWithOutputMonitor(long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中止するヘルパー メソッド。

CommandResult runTimedCmdSilently(long timeout, String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中止するヘルパー メソッド。

CommandResult runTimedCmdSilentlyRetry(long timeout, long retryInterval, int attempts, String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中止するヘルパー メソッド。

CommandResult runTimedCmdWithInput(long timeout, String input, File stdoutFile, File stderrFile, String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中止し、指定された場合は出力をファイルにリダイレクトするヘルパー メソッド。

CommandResult runTimedCmdWithInput(long timeout, String input, String... command)

stdin 入力を必要とするシステム コマンドを実行し、指定した時間よりも時間がかかる場合は処理を中止するヘルパー メソッド。

CommandResult runTimedCmdWithInput(long timeout, String input, command)

stdin 入力を必要とするシステム コマンドを実行し、指定した時間よりも時間がかかる場合は処理を中止するヘルパー メソッド。

CommandResult runTimedCmdWithInputRedirect(long timeout, File inputRedirect, String... command)

ファイルから Stdin をリダイレクトし、指定された時間よりも時間がかかっている場合は中止する必要があるシステム コマンドを実行するためのヘルパー メソッド。

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中止し、指定された場合は出力をファイルにリダイレクトするヘルパー メソッド。

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中止するヘルパー メソッド。

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, ICacheClient cacheClient, String... command)

キャッシュ保存を使用するシステム コマンドを実行するためのヘルパー メソッド。

boolean runTimedRetry(long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)

オペレーションをブロックし、成功するまで複数回実行します。

boolean runTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)

オペレーションをブロックし、成功するまで複数回実行します。

CommandStatus runTimedWithOutputMonitor(long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

オペレーションをブロックして実行し、指定された時間よりも時間がかかる場合は中止します。

void setEnvVariable(String name, String value)

システム コマンドの実行時に使用される環境変数を設定します。

void setEnvVariablePriority(IRunUtil.EnvPriority priority)

プロセスの作成時に、環境変数の設定よりも環境変数の設定の優先度が高いかどうかを決定します。

void setInterruptibleInFuture(Thread thread, long timeMs)

一定の待ち時間後に割り込み可能として設定される。

void setLinuxInterruptProcess(boolean interrupt)

#runTimed メソッドで実行中のプロセスでタイムアウトに達したときに、Linux の「強制終了」割り込みを使用できるようになりました。

void setRedirectStderrToStdout(boolean redirect)

システム コマンドの実行時に標準出力ストリームにリダイレクトするように標準エラー ストリームを設定します。

void setWorkingDir(File dir)

システム コマンドの作業ディレクトリを設定します。

void sleep(long time)

例外を無視して、指定された時間スリープするヘルパー メソッド。

void unsetEnvVariable(String key)

環境変数の設定を解除して、この環境変数なしでシステム コマンドが実行されるようにします。環境変数は親プロセスから継承される場合があるため、ProcessBuilder.environment() から環境変数を削除する必要があります。

フィールド

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

パブリック コンストラクタ

実行ユーティリティ

public RunUtil ()

使用する新しい RunUtil オブジェクトを作成します。

パブリック メソッド

allowInterrupt

public void allowInterrupt (boolean allow)

現在のスレッドでの実行割り込みを許可または禁止します。許可されている場合、現在のスレッドの実行オペレーションを、interrupt(Thread, String) メソッドを介して他のスレッドから中断できます。

パラメータ
allow boolean: 現在のスレッドでの実行割り込みを許可するかどうか。

getDefault

public static IRunUtil getDefault ()

デフォルトの RunUtil オブジェクトへの参照を取得します。

これは、呼び出し元がカスタマイズなしで IRunUtil を使用する場合に便利です。カスタムの IRunUtil インスタンスを必要とする(つまり、setEnvVariable(String, String) または setWorkingDir(File) を呼び出す必要がある)呼び出し元は、独自のコピーを作成することをおすすめします。

戻り値
IRunUtil

割り込み

public void interrupt (Thread thread, 
                String message, 
                ErrorIdentifier errorId)

指定されたスレッドでの進行中または今後の実行オペレーションを中断します。指定したスレッドで実行オペレーションが RunInterruptedException をスローします。

パラメータ
message String: RunInterruptedException のメッセージ。

errorId ErrorIdentifier: 既知の場合、中断の原因を表します。

割り込み

public void interrupt (Thread thread, 
                String message)

指定されたスレッドでの進行中または今後の実行オペレーションを中断します。指定したスレッドで実行オペレーションが RunInterruptedException をスローします。

パラメータ
message String: RunInterruptedException のメッセージ。

isInterruptAllowed

public boolean isInterruptAllowed ()

RunUtil の割り込みステータスを指定します。

戻り値
boolean 実行を中断できる場合は true、それ以外の場合は false。

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

ERROR(/List) 形式でコマンド引数を受け入れる代替 runCmdInBackground(String) メソッド。

パラメータ
redirect Redirect: ProcessBuilder に適用する ERROR(/Redirect)

command : 指定されたシステム コマンドと exec 引数(省略可)を含む ERROR(/List)

戻り値
Process 実行されたコマンドの Process

runCmdInBackground

public Process runCmdInBackground ( command)

ERROR(/List) 形式でコマンド引数を受け入れる代替 runCmdInBackground(String) メソッド。

パラメータ
command : 指定されたシステム コマンドと exec 引数(省略可)を含む ERROR(/List)

戻り値
Process 実行されたコマンドの Process

runCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

ERROR(/OutputStream) を指定してコマンドを実行すると、コマンドの出力がログに記録されます。stdout と stderr が統合される。

パラメータ
command : 実行するコマンド

output OutputStream: 出力を保存する OutputStream

戻り値
Process コマンドを実行している Process

runCmdInBackground

public Process runCmdInBackground (String... command)

システム コマンドを非同期で実行するヘルパー メソッド。

コマンドを起動した直後に返されます。

パラメータ
command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
Process 実行されたコマンドの Process

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                String... command)

システム コマンドを非同期で実行するヘルパー メソッド。

コマンドを起動した直後に返されます。

パラメータ
redirect Redirect: ProcessBuilder に適用する ERROR(/Redirect)

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
Process 実行されたコマンドの Process

runEscalatingTimedRetry

public boolean runEscalatingTimedRetry (long opTimeout, 
                long initialPollInterval, 
                long maxPollInterval, 
                long maxTime, 
                IRunUtil.IRunnableResult runnable)

オペレーションをブロックし、成功するまで複数回実行します。

オペレーションの試行間の待機時間が指数関数的に長くなります。これは、サーバーが一時的に停止した場合に復旧する時間を確保するために、サーバーのポーリングなどのオペレーションを実行するときに使用されます。

パラメータ
opTimeout long: 1 回のオペレーションの試行の最大待機時間(ミリ秒)

initialPollInterval long: オペレーション試行間の初期待機時間

maxPollInterval long: オペレーションの試行間の最大待機時間

maxTime long: オペレーションの試行を続行するおおよその最大時間の合計

runnable IRunUtil.IRunnableResult: 実行する IRunUtil.IRunnableResult

戻り値
boolean maxTime の期限が切れる前にオペレーションが正常に完了した場合は true

runFixedTimedRetry

public boolean runFixedTimedRetry (long opTimeout, 
                long pollInterval, 
                long maxTime, 
                IRunUtil.IRunnableResult runnable)

オペレーションをブロックし、成功するまで複数回実行します。

パラメータ
opTimeout long: 1 回のオペレーションの試行の最大待機時間(ミリ秒)

pollInterval long: オペレーション試行間の初期待機時間

maxTime long: オペレーションの試行を続行するおおよその最大時間の合計

runnable IRunUtil.IRunnableResult: 実行する IRunUtil.IRunnableResult

戻り値
boolean maxTime の期限が切れる前にオペレーションが正常に完了した場合は true

runFixedTimedRetryWithOutputMonitor

public boolean runFixedTimedRetryWithOutputMonitor (long opTimeout, 
                long idleOutputTimeout, 
                long pollInterval, 
                long maxTime, 
                IRunUtil.IRunnableResult runnable)

オペレーションをブロックし、成功するまで複数回実行します。アクティビティの出力ストリームもモニタリングし、指定した時間にわたってストリーム アクティビティが観察されない場合には中止します。 emptyOutputTimeout を 0 に設定した場合、ストリームのモニタリングは行われません。

パラメータ
opTimeout long: 1 回のオペレーションの試行の最大待機時間(ミリ秒)

idleOutputTimeout long: 出力ストリームでの出力の最大待機時間(ミリ秒)

pollInterval long: オペレーション試行間の初期待機時間

maxTime long: オペレーションの試行を続行するおおよその最大時間の合計

runnable IRunUtil.IRunnableResult: 実行する IRunUtil.IRunnableResult

戻り値
boolean maxTime の期限が切れる前にオペレーションが正常に完了した場合は true

runTimed

public CommandStatus runTimed (long timeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

オペレーションをブロックして実行し、指定した時間よりも時間がかかる場合は中止します。

パラメータ
timeout long: 最大待機時間(ミリ秒)

runnable IRunUtil.IRunnableResult: 実行する IRunUtil.IRunnableResult

logErrors boolean: 例外の発生時にエラーをログに記録します。

戻り値
CommandStatus 演算の CommandStatus の結果。

runTimedCmd

public CommandResult runTimedCmd (long timeout, 
                OutputStream stdout, 
                OutputStream stderr, 
                String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中断し、指定された場合は出力をファイルにリダイレクトするヘルパー メソッド。このように ERROR(/OutputStream) を指定すると、関数の最後では開いたままになります。

パラメータ
timeout long: タイムアウトの最大待機時間(ミリ秒)。0 はタイムアウトがないことを意味します。

stdout OutputStream: 標準出力のリダイレクト先の ERROR(/OutputStream)。null の場合もあります。

stderr OutputStream: エラー出力のリダイレクト先の ERROR(/OutputStream)。null の場合もあります。

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmd

public CommandResult runTimedCmd (long timeout, 
                String... command)

システム コマンドを実行するためのヘルパー メソッド。指定した時間よりも時間がかかっている場合は中断します。

パラメータ
timeout long: 最大待機時間(ミリ秒単位)。0 はタイムアウトがないことを意味します。

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmdRetry

public CommandResult runTimedCmdRetry (long timeout, 
                long retryInterval, 
                int attempts, 
                String... command)

システム コマンドを実行するためのヘルパー メソッド。指定した時間よりも時間がかかっている場合は中断します。

パラメータ
timeout long: 各試行の最大待機時間(ミリ秒)

retryInterval long: コマンド再試行までの待機時間

attempts int: 試行の最大回数

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmdRetryWithOutputMonitor

public CommandResult runTimedCmdRetryWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                long retryInterval, 
                int attempts, 
                String... command)

システム コマンドを実行するためのヘルパー メソッド。指定した時間よりも時間がかかっている場合は中断します。アクティビティの出力ストリームもモニタリングし、指定した時間にわたってストリーム アクティビティが検出されなければ中止します。QIDOutputTimeout が 0 に設定されている場合、ストリーム モニタリングは行われません。

パラメータ
timeout long: 各試行の最大待機時間(ミリ秒)

idleOutputTimeout long: 出力ストリームでの出力の最大待機時間(ミリ秒)

retryInterval long: コマンド再試行までの待機時間

attempts int: 試行の最大回数

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmdSilently

public CommandResult runTimedCmdSilently (long timeout, 
                String... command)

システム コマンドを実行するためのヘルパー メソッド。指定した時間よりも時間がかかっている場合は中断します。runTimedCmd(long, String) に似ていますが、例外の発生時にエラーをログに記録しません。

パラメータ
timeout long: 最大待機時間(ミリ秒)

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmdSilentlyRetry

public CommandResult runTimedCmdSilentlyRetry (long timeout, 
                long retryInterval, 
                int attempts, 
                String... command)

システム コマンドを実行するためのヘルパー メソッド。指定した時間よりも時間がかかっている場合は中断します。runTimedCmdRetry(long, long, int, String[]) に似ていますが、例外の発生時にエラーをログに記録しません。

パラメータ
timeout long: 最大待機時間(ミリ秒)

retryInterval long: コマンド再試行までの待機時間

attempts int: 試行の最大回数

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmdWithInput

public CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                File stdoutFile, 
                File stderrFile, 
                String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中断し、指定された場合は出力をファイルにリダイレクトするヘルパー メソッド。

パラメータ
timeout long: タイムアウトの最大待機時間(ミリ秒)。0 はタイムアウトがないことを意味します。

input String: プロセスに渡す stdin 入力

stdoutFile File: 標準出力のリダイレクト先の ERROR(/File)。null の場合もあります。

stderrFile File: エラー出力のリダイレクト先の ERROR(/File)。null の場合もあります。

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmdWithInput

public CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                String... command)

stdin 入力を必要とするシステム コマンドを実行し、指定した時間よりも時間がかかる場合は処理を中止するヘルパー メソッド。

パラメータ
timeout long: 最大待機時間(ミリ秒)

input String: プロセスに渡す stdin 入力

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmdWithInput

public CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                 command)

stdin 入力を必要とするシステム コマンドを実行し、指定した時間よりも時間がかかる場合は処理を中止するヘルパー メソッド。

パラメータ
timeout long: 最大待機時間(ミリ秒)

input String: プロセスに渡す stdin 入力

command : システム コマンドとオプションの exec 引数を含む ERROR(/List)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmdWithInputRedirect

public CommandResult runTimedCmdWithInputRedirect (long timeout, 
                File inputRedirect, 
                String... command)

ファイルから Stdin をリダイレクトし、指定された時間よりも時間がかかっている場合は中止する必要があるシステム コマンドを実行するためのヘルパー メソッド。

パラメータ
timeout long: 最大待機時間(ミリ秒)

inputRedirect File: ProcessBuilder.redirectInput() を使用して標準入力としてリダイレクトする ERROR(/File)。null の場合、stdin はリダイレクトされません。

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                OutputStream stdout, 
                OutputStream stderr, 
                String... command)

システム コマンドを実行し、指定された時間よりも時間がかかっている場合は中断し、指定された場合は出力をファイルにリダイレクトするヘルパー メソッド。このように ERROR(/OutputStream) を指定すると、関数の最後では開いたままになります。

パラメータ
timeout long: タイムアウトの最大待機時間(ミリ秒)。0 はタイムアウトがないことを意味します。

idleOutputTimeout long: 出力ストリームでの出力の最大待機時間(ミリ秒)

stdout OutputStream: 標準出力のリダイレクト先の ERROR(/OutputStream)。null の場合もあります。

stderr OutputStream: エラー出力のリダイレクト先の ERROR(/OutputStream)。null の場合もあります。

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                String... command)

システム コマンドを実行するためのヘルパー メソッド。指定した時間よりも時間がかかっている場合は中断します。アクティビティの出力ストリームもモニタリングし、指定した時間にわたってストリーム アクティビティが検出されなければ中止します。QIDOutputTimeout が 0 に設定されている場合、ストリーム モニタリングは行われません。

パラメータ
timeout long: 最大待機時間(ミリ秒単位)。0 はタイムアウトがないことを意味します。

idleOutputTimeout long: 出力ストリームでの出力の最大待機時間(ミリ秒)

command String: 指定されたシステム コマンドと exec 引数(省略可)

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                OutputStream stdout, 
                OutputStream stderr, 
                ICacheClient cacheClient, 
                String... command)

キャッシュ保存を使用するシステム コマンドを実行するためのヘルパー メソッド。

cacheClient を指定すると、キャッシュ保存が有効になります。キャッシュが使用可能な場合は、キャッシュ内の結果が返されます。それ以外の場合は、runTimedCmdWithOutputMonitor(long, long, OutputStream, OutputStream, String) を使用してコマンドを実行し、結果をアップロードしてキャッシュに保存します。

パラメータ
timeout long: タイムアウトの最大待機時間(ミリ秒)。0 はタイムアウトがないことを意味します。

idleOutputTimeout long: 出力ストリームでの出力の最大待機時間(ミリ秒)。

stdout OutputStream: 標準出力のリダイレクト先の ERROR(/OutputStream)。null の場合もあります。

stderr OutputStream: エラー出力のリダイレクト先の ERROR(/OutputStream)。null の場合もあります。

cacheClient ICacheClient: キャッシュの処理に使用される ICacheClient のインスタンス。

command String: 指定されたシステム コマンドと exec 引数(省略可)。

戻り値
CommandResult コマンド実行の結果を含む CommandResult

runTimedRetry

public boolean runTimedRetry (long opTimeout, 
                long pollInterval, 
                int attempts, 
                IRunUtil.IRunnableResult runnable)

オペレーションをブロックし、成功するまで複数回実行します。

パラメータ
opTimeout long: 1 回のオペレーション試行の最大待機時間(ミリ秒)

pollInterval long: コマンド再試行までの待機時間

attempts int: 試行の最大回数

runnable IRunUtil.IRunnableResult: 実行する IRunUtil.IRunnableResult

戻り値
boolean 試行回数に達する前にオペレーションが正常に完了した場合は true です。

runTimedRetryWithOutputMonitor

public boolean runTimedRetryWithOutputMonitor (long opTimeout, 
                long idleOutputTimeout, 
                long pollInterval, 
                int attempts, 
                IRunUtil.IRunnableResult runnable)

オペレーションをブロックし、成功するまで複数回実行します。アクティビティの出力ストリームもモニタリングし、指定した時間にわたってストリーム アクティビティが観察されない場合には中止します。 emptyOutputTimeout を 0 に設定した場合、ストリームのモニタリングは行われません。

パラメータ
opTimeout long: 1 回のオペレーション試行の最大待機時間(ミリ秒)

idleOutputTimeout long: 出力ストリームでの出力の最大待機時間(ミリ秒)

pollInterval long: コマンド再試行までの待機時間

attempts int: 試行の最大回数

runnable IRunUtil.IRunnableResult: 実行する IRunUtil.IRunnableResult

戻り値
boolean 試行回数に達する前にオペレーションが正常に完了した場合は true です。

runTimedWithOutputMonitor

public CommandStatus runTimedWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

オペレーションをブロックして実行し、指定した時間よりも時間がかかる場合は中止します。また、アクティビティの出力ストリームをモニタリングし、指定された時間にわたってストリーム アクティビティが検出されなければ中止します。emptyOutputTimeout を 0 に設定した場合、ストリームのモニタリングは行われません。

パラメータ
timeout long: 最大待機時間(ミリ秒)

idleOutputTimeout long: 出力ストリームでの出力の最大待機時間(ミリ秒)

runnable IRunUtil.IRunnableResult: 実行する IRunUtil.IRunnableResult

logErrors boolean: 例外の発生時にエラーをログに記録します。

戻り値
CommandStatus 演算の CommandStatus の結果。

setEnvVariable

public void setEnvVariable (String name, 
                String value)

システム コマンドの実行時に使用される環境変数を設定します。

パラメータ
name String: 変数名

value String: 変数の値

setEnvVariablePriority

public void setEnvVariablePriority (IRunUtil.EnvPriority priority)

プロセスの作成時に、環境変数の設定解除を優先するかどうかを決定します。デフォルトでは、設定解除の優先順位が高くなります。つまり、同じ名前の変数を設定しようとしても、変数は設定解除されるため、設定は行われません。デフォルトの IRunUtil インスタンスでは使用できません。

パラメータ
priority IRunUtil.EnvPriority

setInterruptibleInFuture

public void setInterruptibleInFuture (Thread thread, 
                long timeMs)

一定の待機時間後に割り込み可能として設定します。ERROR(/CommandScheduler#shutdownHard()) を使用し、最終的に終了するように強制します。

パラメータ
thread Thread: 割り込み可能になるスレッド。

timeMs long: 割り込み可能に設定するまでの待機時間。

setLinuxInterruptProcess

public void setLinuxInterruptProcess (boolean interrupt)

#runTimed メソッドで実行中のプロセスでタイムアウトに達したときに、Linux の「強制終了」割り込みを使用できるようになりました。 デフォルトの IRunUtil インスタンスでは使用できません。

パラメータ
interrupt boolean

setRedirectStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

システム コマンドの実行時に標準出力ストリームにリダイレクトするように標準エラー ストリームを設定します。初期値は false です。

パラメータ
redirect boolean: リダイレクトするかどうかの新しい値

setWorkingDir

public void setWorkingDir (File dir)

システム コマンドの作業ディレクトリを設定します。

パラメータ
dir File: 作業ディレクトリ

sleep

public void sleep (long time)

例外を無視して、指定された時間スリープするヘルパー メソッド。

パラメータ
time long: スリープ時間(ミリ秒)。0 以下の値は無視されます。

unsetEnvVariable

public void unsetEnvVariable (String key)

環境変数の設定を解除して、この環境変数なしでシステム コマンドが実行されるようにします。環境変数は親プロセスから継承される場合があるため、ProcessBuilder.environment() から環境変数を削除する必要があります。

パラメータ
key String: 変数名