実行ユーティリティ

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 オブジェクトを作成します。

RunUtil(boolean inheritEnvVars)

パブリック メソッド

void allowInterrupt(boolean allow)

現在のスレッドで実行中断を許可または禁止します。

ProcessBuilder createProcessBuilder(Redirect redirect, commandList, boolean enableCache)
static IRunUtil getDefault()

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

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

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

void interrupt(Thread thread, String message)

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

boolean isInterruptAllowed()

RunUtil の中断ステータスを返します。

static File linkFile(File destRoot, String relToRoot, File target)

targetdestRoot の下の場所にリンクします。

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 の「kill」中断を使用できるようにしました。

void setRedirectStderrToStdout(boolean redirect)

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

void setWorkingDir(File dir)

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

void sleep(long time)

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

static String toRelative(File start, File target)
static String toRelative(File start, String target)
void unsetEnvVariable(String key)

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

void uploadCache(ICacheClient cacheClient, ExecutableActionResult actionResult)

前回 ExecutableActionResult が cacheClient で実行されたアップロード。

フィールド

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

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

RunUtil

public RunUtil ()

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

RunUtil

public RunUtil (boolean inheritEnvVars)

パラメータ
inheritEnvVars boolean

パブリック メソッド

allowInterrupt

public void allowInterrupt (boolean allow)

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

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

createProcessBuilder

public ProcessBuilder createProcessBuilder (Redirect redirect, 
                 commandList, 
                boolean enableCache)

パラメータ
redirect Redirect

commandList

enableCache boolean

戻り値
ProcessBuilder

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。

linkFile

public static File linkFile (File destRoot, 
                String relToRoot, 
                File target)

targetdestRoot の下の場所にリンクします。

ターゲット ファイルまたはシンボリック リンクが destRoot の下にすでに存在する場合、ファイルはリンクされません。

パラメータ
destRoot File: 宛先のルート。

relToRoot String: 宛先ディレクトリからルートまでの相対パス。

target File: リンクするターゲット ファイル。

戻り値
File シンボリック リンク

例外
リンクに失敗した場合に表示されます。

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

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

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

command : 指定されたシステム コマンドと、必要に応じて実行する引数を含む 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 true(maxTime が期限切れになる前にオペレーションが正常に完了した場合)

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 true(maxTime が期限切れになる前にオペレーションが正常に完了した場合)

実行時間

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)

システム コマンドを実行し、指定された時間を超えると中止するヘルパー メソッド。また、出力ストリームのアクティビティをモニタリングし、指定した時間内にストリーム アクティビティが検出されなかった場合は中止します。idleOutputTimeout がゼロに設定されている場合、ストリーム モニタリングは行われません。

パラメータ
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 : システム コマンドと、必要に応じて実行する引数を含む 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)

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

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

パラメータ
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 の「kill」中断を使用できるようにしました。 デフォルトの 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 以下の値は無視されます。

toRelative

public static String toRelative (File start, 
                File target)

パラメータ
start File

target File

戻り値
String

相対的

public static String toRelative (File start, 
                String target)

パラメータ
start File

target String

戻り値
String

unsetEnvVariable

public void unsetEnvVariable (String key)

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

パラメータ
key String: 変数名

uploadCache

public void uploadCache (ICacheClient cacheClient, 
                ExecutableActionResult actionResult)

前回 ExecutableActionResult が cacheClient で実行されたアップロード。

パラメータ
cacheClient ICacheClient: 結果のアップロードに使用される ICacheClient

actionResult ExecutableActionResult: アップロードする ExecutableActionResult