IRunUtil
public interface IRunUtil
com.android.tradefed.util.IRunUtil |
時間指定された操作とシステム コマンドを実行するためのインターフェイス。
まとめ
入れ子になったクラス | |
---|---|
interface | IRunUtil.IRunnableResult ブール値ステータスを返す操作を非同期に実行するためのインターフェイス。 |
パブリックメソッド | |
---|---|
abstract void | allowInterrupt (boolean allow) 現在のスレッドでの実行割り込みを許可/禁止します。 |
abstract void | interrupt (Thread thread, String message, ErrorIdentifier errorId) 指定されたスレッドで進行中または今後の実行操作を中断します。 |
abstract void | interrupt (Thread thread, String message) 指定されたスレッドで進行中または今後の実行操作を中断します。 |
abstract boolean | isInterruptAllowed () RunUtil の割り込みステータスを与えます。 |
abstract Process | runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command) |
abstract Process | runCmdInBackground ( command) runCmdInBackground ( command) |
abstract Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) |
abstract Process | runCmdInBackground (String... command) システム コマンドを非同期で実行するヘルパー メソッド。 |
abstract Process | runCmdInBackground (Redirect redirect, String... command) システム コマンドを非同期で実行するヘルパー メソッド。 |
abstract boolean | runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable) 操作をブロックし、成功するまで複数回実行します。 |
abstract boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) 操作をブロックし、成功するまで複数回実行します。 |
abstract CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) 操作をブロックして実行し、指定した時間よりも時間がかかる場合は中止します。 |
abstract CommandResult | runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command) システム コマンドを実行し、指定された時間より長くかかる場合は中止し、指定されている場合は出力をファイルにリダイレクトするヘルパー メソッドです。 |
abstract CommandResult | runTimedCmd (long timeout, String... command) システム コマンドを実行し、指定された時間よりも時間がかかる場合に中止するヘルパー メソッド。 |
abstract CommandResult | runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command) システム コマンドを実行し、指定された時間よりも時間がかかる場合に中止するヘルパー メソッド。 |
abstract CommandResult | runTimedCmdSilently (long timeout, String... command) システム コマンドを実行し、指定された時間よりも時間がかかる場合に中止するヘルパー メソッド。 |
abstract CommandResult | runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command) システム コマンドを実行し、指定された時間よりも時間がかかる場合に中止するヘルパー メソッド。 |
abstract CommandResult | runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command) システム コマンドを実行し、指定された時間より長くかかる場合は中止し、指定されている場合は出力をファイルにリダイレクトするヘルパー メソッドです。 |
abstract CommandResult | runTimedCmdWithInput (long timeout, String input, String... command) 標準入力を必要とするシステム コマンドを実行し、指定された時間よりも時間がかかる場合は中止するヘルパー メソッド。 |
abstract CommandResult | runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command) 標準入力を必要とするシステム コマンドを実行し、指定された時間よりも時間がかかる場合は中止するヘルパー メソッド。 |
abstract CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) ファイルから Stdin をリダイレクトする必要があるシステム コマンドを実行し、指定された時間よりも時間がかかる場合は中止するヘルパー メソッド。 |
abstract boolean | runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable) 操作をブロックし、成功するまで複数回実行します。 |
abstract void | setEnvVariable (String key, String value) システムコマンドの実行時に使用される環境変数を設定します。 |
abstract void | setEnvVariablePriority ( IRunUtil.EnvPriority priority) プロセスの作成時に、環境変数の設定よりも設定解除の方が優先されるかどうかを決定します。 |
abstract void | setInterruptibleInFuture (Thread thread, long timeMs) 一定の待ち時間が経過すると、割り込み可能に設定されます。 |
abstract void | setLinuxInterruptProcess (boolean interrupt) #runTimed メソッドを介して実行中のプロセスがタイムアウトに達したときに、Linux 'kill' 割り込みを使用できるようにします。 |
abstract void | setRedirectStderrToStdout (boolean redirect) システム コマンドの実行時に標準出力ストリームにリダイレクトするように標準エラー ストリームを設定します。 |
abstract void | setWorkingDir (File dir) システムコマンドの作業ディレクトリを設定します。 |
abstract void | sleep (long time) 例外を無視して、指定された時間スリープするヘルパー メソッド。 |
abstract void | unsetEnvVariable (String key) 環境変数の設定を解除し、システム コマンドがこの環境変数なしで実行されるようにします。 |
パブリックメソッド
割り込みを許可する
public abstract void allowInterrupt (boolean allow)
現在のスレッドでの実行割り込みを許可/禁止します。許可されている場合、現在のスレッドの実行操作はinterrupt(Thread, String)
メソッドを介して他のスレッドから中断できます。
パラメーター | |
---|---|
allow | boolean : 現在のスレッドでの実行割り込みを許可するかどうか。 |
割り込み
public abstract void interrupt (Thread thread, String message, ErrorIdentifier errorId)
指定されたスレッドで進行中または今後の実行操作を中断します。指定されたスレッドで実行操作を行うと、 RunInterruptedException
がスローされます。
パラメーター | |
---|---|
message | String : RunInterruptedException のメッセージ。 |
errorId | ErrorIdentifier : 割り込みの原因がわかっている場合は、それを表します。 |
割り込み
public abstract void interrupt (Thread thread, String message)
指定されたスレッドで進行中または今後の実行操作を中断します。指定されたスレッドで実行操作を行うと、 RunInterruptedException
がスローされます。
パラメーター | |
---|---|
message | String : RunInterruptedException のメッセージ。 |
isInterruptAllowed
public abstract boolean isInterruptAllowed ()
RunUtil の割り込みステータスを与えます。
戻り値 | |
---|---|
boolean | 実行を中断できる場合は true、それ以外の場合は false。 |
runCmdInBackground
public abstract Process runCmdInBackground (Redirect redirect,command)
ERROR(/List)
形式でコマンド引数を受け入れる代替のrunCmdInBackground(String)
メソッド。
パラメーター | |
---|---|
redirect | Redirect : ProcessBuilder に適用するERROR(/Redirect) 。 |
command | ERROR(/List) |
戻り値 | |
---|---|
Process | 実行されたコマンドのProcess |
投げる | |
---|---|
| コマンドの実行に失敗した場合 |
runCmdInBackground
public abstract Process runCmdInBackground (command)
ERROR(/List)
形式でコマンド引数を受け入れる代替のrunCmdInBackground(String)
メソッド。
パラメーター | |
---|---|
command | ERROR(/List) |
戻り値 | |
---|---|
Process | 実行されたコマンドのProcess |
投げる | |
---|---|
| コマンドの実行に失敗した場合 |
runCmdInBackground
public abstract Process runCmdInBackground (command, OutputStream output)
ERROR(/OutputStream)
を指定してコマンドを実行すると、コマンドの出力が記録されます。標準出力と標準エラー出力は一緒にマージされます。
パラメーター | |
---|---|
command | |
output | OutputStream : 出力を保存する OutputStream |
戻り値 | |
---|---|
Process | コマンドを実行しているProcess |
投げる | |
---|---|
| IO例外 |
runCmdInBackground
public abstract Process runCmdInBackground (String... command)
システム コマンドを非同期で実行するヘルパー メソッド。
コマンドを起動するとすぐに戻ります。
パラメーター | |
---|---|
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
Process | 実行されたコマンドのProcess |
投げる | |
---|---|
| コマンドの実行に失敗した場合 |
runCmdInBackground
public abstract Process runCmdInBackground (Redirect redirect, String... command)
システム コマンドを非同期で実行するヘルパー メソッド。
コマンドを起動するとすぐに戻ります。
パラメーター | |
---|---|
redirect | Redirect : ProcessBuilder に適用するERROR(/Redirect) 。 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
Process | 実行されたコマンドのProcess |
投げる | |
---|---|
| コマンドの実行に失敗した場合 |
runEscalatingTimedRetry
public abstract 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 abstract 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 |
実行時間指定
public abstract CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
操作をブロックして実行し、指定した時間よりも時間がかかる場合は中止します。
パラメーター | |
---|---|
timeout | long : 最大待機時間 (ミリ秒) |
runnable | IRunUtil.IRunnableResult : 実行するIRunUtil.IRunnableResult |
logErrors | boolean : 例外時にエラーをログに記録するかどうか。 |
戻り値 | |
---|---|
CommandStatus | CommandStatus の操作結果。 |
runTimedCmd
public abstract CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
システム コマンドを実行し、指定された時間より長くかかる場合は中止し、指定されている場合は出力をファイルにリダイレクトするヘルパー メソッドです。この方法でERROR(/OutputStream)
を指定すると、関数の終了時に ERROR(/OutputStream) が開いたままになります。
パラメーター | |
---|---|
timeout | long : タイムアウトの最大待機時間 (ミリ秒)。 0 はタイムアウトがないことを意味します。 |
stdout | OutputStream : ERROR(/OutputStream) 標準出力がリダイレクトされます。 null にすることもできます。 |
stderr | OutputStream : ERROR(/OutputStream) エラー出力がリダイレクトされます。 null にすることもできます。 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmd
public abstract CommandResult runTimedCmd (long timeout, String... command)
システム コマンドを実行し、指定された時間よりも時間がかかる場合に中止するヘルパー メソッド。
パラメーター | |
---|---|
timeout | long : ミリ秒単位で待機する最大時間。 0 はタイムアウトがないことを意味します。 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmdRetry
public abstract CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
システム コマンドを実行し、指定された時間よりも時間がかかる場合に中止するヘルパー メソッド。
パラメーター | |
---|---|
timeout | long : 試行ごとに待機する最大時間 (ミリ秒) |
retryInterval | long : コマンドの再試行間の待機時間 |
attempts | int : 試行の最大回数 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmdSilently
public abstract CommandResult runTimedCmdSilently (long timeout, String... command)
システム コマンドを実行し、指定された時間よりも時間がかかる場合に中止するヘルパー メソッド。 runTimedCmd(long, String)
と似ていますが、例外時にエラーをログに記録しません。
パラメーター | |
---|---|
timeout | long : 最大待機時間 (ミリ秒) |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmdSilentlyRetry
public abstract CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
システム コマンドを実行し、指定された時間よりも時間がかかる場合に中止するヘルパー メソッド。 runTimedCmdRetry(long, long, int, String[])
と似ていますが、例外時にエラーをログに記録しません。
パラメーター | |
---|---|
timeout | long : 最大待機時間 (ミリ秒) |
retryInterval | long : コマンドの再試行間の待機時間 |
attempts | int : 試行の最大回数 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmdWithInput
public abstract 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 : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmdWithInput
public abstract CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
標準入力を必要とするシステム コマンドを実行し、指定された時間よりも時間がかかる場合は中止するヘルパー メソッド。
パラメーター | |
---|---|
timeout | long : 最大待機時間 (ミリ秒) |
input | String : プロセスに渡す stdin 入力 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmdWithInput
public abstract CommandResult runTimedCmdWithInput (long timeout, String input,command)
標準入力を必要とするシステム コマンドを実行し、指定された時間よりも時間がかかる場合は中止するヘルパー メソッド。
パラメーター | |
---|---|
timeout | long : 最大待機時間 (ミリ秒) |
input | String : プロセスに渡す stdin 入力 |
command | ERROR(/List) |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmdWithInputRedirect
public abstract CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
ファイルから Stdin をリダイレクトする必要があるシステム コマンドを実行し、指定された時間よりも時間がかかる場合は中止するヘルパー メソッド。
パラメーター | |
---|---|
timeout | long : 最大待機時間 (ミリ秒) |
inputRedirect | File : ProcessBuilder.redirectInput() を使用して標準入力としてリダイレクトするERROR(/File) 。 null の場合、stdin はリダイレクトされません。 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedRetry
public abstract 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 。 |
setEnvVariable
public abstract void setEnvVariable (String key, String value)
システムコマンドの実行時に使用される環境変数を設定します。
パラメーター | |
---|---|
key | String : 変数名 |
value | String : 変数の値 |
以下も参照してください。
setEnvVariablePriority
public abstract void setEnvVariablePriority (IRunUtil.EnvPriority priority)
プロセスの作成時に、環境変数の設定よりも設定解除の方が優先されるかどうかを決定します。デフォルトでは、設定解除の方が優先されます。つまり、同じ名前の変数を設定しようとしても、変数は設定解除されるため、設定は行われません。デフォルトのIRunUtil
インスタンスでは使用できません。
パラメーター | |
---|---|
priority | IRunUtil.EnvPriority |
setInterruptibleInFuture
public abstract void setInterruptibleInFuture (Thread thread, long timeMs)
一定の待ち時間が経過すると、割り込み可能に設定されます。 ERROR(/CommandScheduler#shutdownHard())
により、最終的に強制的に終了します。
パラメーター | |
---|---|
thread | Thread : 割り込み可能になるスレッド。 |
timeMs | long : 割り込み可能に設定するまでの待機時間。 |
setLinuxInterruptProcess
public abstract void setLinuxInterruptProcess (boolean interrupt)
#runTimed メソッドを介して実行中のプロセスがタイムアウトに達したときに、Linux 'kill' 割り込みを使用できるようにします。デフォルトのIRunUtil
インスタンスでは使用できません。
パラメーター | |
---|---|
interrupt | boolean |
setRedirectStderrToStdout
public abstract void setRedirectStderrToStdout (boolean redirect)
システム コマンドの実行時に標準出力ストリームにリダイレクトするように標準エラー ストリームを設定します。初期値は false です。
パラメーター | |
---|---|
redirect | boolean : リダイレクトするかどうかの新しい値 |
以下も参照してください。
setWorkingDir
public abstract void setWorkingDir (File dir)
システムコマンドの作業ディレクトリを設定します。
パラメーター | |
---|---|
dir | File : 作業ディレクトリ |
以下も参照してください。
寝る
public abstract void sleep (long time)
例外を無視して、指定された時間スリープするヘルパー メソッド。
パラメーター | |
---|---|
time | long : スリープまでのミリ秒。 0 以下の値は無視されます |
unsetEnvVariable
public abstract void unsetEnvVariable (String key)
環境変数の設定を解除し、システム コマンドがこの環境変数なしで実行されるようにします。
パラメーター | |
---|---|
key | String : 変数名 |
以下も参照してください。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2023-12-01 UTC。