ランユーティル
public class RunUtil
extends Object
implements IRunUtil
java.lang.オブジェクト | |
↳ | 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, command) runCmdInBackground (Redirect redirect, command) |
Process | runCmdInBackground ( command) runCmdInBackground ( command) |
Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) |
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) 操作をブロックし、成功するまで複数回実行します。 |
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 | 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) 標準入力を必要とするシステム コマンドを実行し、指定された時間よりも時間がかかる場合は中止するヘルパー メソッド。 |
CommandResult | runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command) 標準入力を必要とするシステム コマンドを実行し、指定された時間よりも時間がかかる場合は中止するヘルパー メソッド。 |
CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) ファイルから Stdin をリダイレクトする必要があるシステム コマンドを実行し、指定された時間よりも時間がかかる場合は中止するヘルパー メソッド。 |
boolean | runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable) 操作をブロックし、成功するまで複数回実行します。 |
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) 例外を無視して、指定された時間スリープするヘルパー メソッド。 |
void | unsetEnvVariable (String key) 環境変数の設定を解除し、システム コマンドがこの環境変数なしで実行されるようにします。環境変数は親プロセスから継承する可能性があるため、 |
田畑
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
パブリックコンストラクター
パブリックメソッド
割り込みを許可する
public void allowInterrupt (boolean allow)
現在のスレッドでの実行割り込みを許可/禁止します。許可されている場合、現在のスレッドの実行操作はinterrupt(Thread, String)
メソッドを介して他のスレッドから中断できます。
パラメーター | |
---|---|
allow | boolean : 現在のスレッドでの実行割り込みを許可するかどうか。 |
デフォルトを取得
public static IRunUtil getDefault ()
デフォルトのRunUtil
オブジェクトへの参照を取得します。
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 | ERROR(/List) |
戻り値 | |
---|---|
Process | 実行されたコマンドのProcess |
runCmdInBackground
public Process runCmdInBackground (command)
ERROR(/List)
形式でコマンド引数を受け入れる代替のrunCmdInBackground(String)
メソッド。
パラメーター | |
---|---|
command | ERROR(/List) |
戻り値 | |
---|---|
Process | 実行されたコマンドのProcess |
runCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
ERROR(/OutputStream)
を指定してコマンドを実行すると、コマンドの出力が記録されます。標準出力と標準エラー出力は一緒にマージされます。
パラメーター | |
---|---|
command | |
output | OutputStream : 出力を保存する OutputStream |
戻り値 | |
---|---|
Process | コマンドを実行しているProcess |
runCmdInBackground
public Process runCmdInBackground (String... command)
システム コマンドを非同期で実行するヘルパー メソッド。
コマンドを起動するとすぐに戻ります。
パラメーター | |
---|---|
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
Process | 実行されたコマンドのProcess |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect, String... command)
システム コマンドを非同期で実行するヘルパー メソッド。
コマンドを起動するとすぐに戻ります。
パラメーター | |
---|---|
redirect | Redirect : ProcessBuilder に適用するERROR(/Redirect) 。 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
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 |
実行時間指定
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)
を指定すると、関数の終了時に ERROR(/OutputStream) が開いたままになります。
パラメーター | |
---|---|
timeout | long : タイムアウトの最大待機時間 (ミリ秒)。 0 はタイムアウトがないことを意味します。 |
stdout | OutputStream : ERROR(/OutputStream) 標準出力がリダイレクトされます。 null にすることもできます。 |
stderr | OutputStream : ERROR(/OutputStream) エラー出力がリダイレクトされます。 null にすることもできます。 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmd
public CommandResult runTimedCmd (long timeout, String... command)
システム コマンドを実行し、指定された時間よりも時間がかかる場合に中止するヘルパー メソッド。
パラメーター | |
---|---|
timeout | long : ミリ秒単位で待機する最大時間。 0 はタイムアウトがないことを意味します。 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmdRetry
public CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
システム コマンドを実行し、指定された時間よりも時間がかかる場合に中止するヘルパー メソッド。
パラメーター | |
---|---|
timeout | long : 試行ごとに待機する最大時間 (ミリ秒) |
retryInterval | long : コマンドの再試行間の待機時間 |
attempts | int : 試行の最大回数 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmdSilently
public CommandResult runTimedCmdSilently (long timeout, String... command)
システム コマンドを実行し、指定された時間よりも時間がかかる場合に中止するヘルパー メソッド。 runTimedCmd(long, String)
と似ていますが、例外時にエラーをログに記録しません。
パラメーター | |
---|---|
timeout | long : 最大待機時間 (ミリ秒) |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
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 : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
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 : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
標準入力を必要とするシステム コマンドを実行し、指定された時間よりも時間がかかる場合は中止するヘルパー メソッド。
パラメーター | |
---|---|
timeout | long : 最大待機時間 (ミリ秒) |
input | String : プロセスに渡す stdin 入力 |
command | String : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
CommandResult | コマンド実行の結果を含むCommandResult |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
標準入力を必要とするシステム コマンドを実行し、指定された時間よりも時間がかかる場合は中止するヘルパー メソッド。
パラメーター | |
---|---|
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 : 指定されたシステム コマンドと、オプションで実行する引数 |
戻り値 | |
---|---|
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 。 |
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 : 作業ディレクトリ |
寝る
public void sleep (long time)
例外を無視して、指定された時間スリープするヘルパー メソッド。
パラメーター | |
---|---|
time | long : スリープまでのミリ秒。 0 以下の値は無視されます |
unsetEnvVariable
public void unsetEnvVariable (String key)
環境変数の設定を解除し、システム コマンドがこの環境変数なしで実行されるようにします。環境変数は親プロセスから継承する可能性があるため、 ProcessBuilder.environment()
から環境変数を削除する必要があります。
パラメーター | |
---|---|
key | String : 変数名 |
以下も参照してください。