実行ユーティリティ
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()
使用する新しい |
パブリック メソッド | |
---|---|
void
|
allowInterrupt(boolean allow)
現在のスレッドでの実行割り込みを許可または禁止します。 |
static
IRunUtil
|
getDefault()
デフォルトの |
void
|
interrupt(Thread thread, String message, ErrorIdentifier errorId)
指定されたスレッドでの進行中または今後の実行オペレーションを中断します。 |
void
|
interrupt(Thread thread, String message)
指定されたスレッドでの進行中または今後の実行オペレーションを中断します。 |
boolean
|
isInterruptAllowed()
RunUtil の割り込みステータスを付与します。 |
Process
|
runCmdInBackground(Redirect redirect,
|
Process
|
runCmdInBackground(
|
Process
|
runCmdInBackground(
|
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,
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)
環境変数の設定を解除して、この環境変数なしでシステム コマンドが実行されるようにします。環境変数は親プロセスから継承される場合があるため、 |
フィールド
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
パブリック コンストラクタ
パブリック メソッド
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 : 変数名 |