Google致力於提高黑人社區的種族平等。 怎麼看。
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

運行工具

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)

中斷給定線程上正在進行的/即將執行的運行操作。

boolean isInterruptAllowed ()

給出RunUtil的中斷狀態。

Process runCmdInBackground (String... command)

異步執行系統命令的Helper方法。

Process runCmdInBackground ( command) runCmdInBackground ( command)

替代的runCmdInBackground(String)方法,以ERROR(/List)形式接受命令參數。

Process runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output)

運行帶有ERROR(/OutputStream)的命令將記錄命令的輸出。

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, String... command)

用於執行系統命令的Helper方法,如果它花費的時間超過指定的時間,則中止該方法。

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

用於執行系統命令的Helper方法,如果花費的時間超過指定的時間,則終止該方法,如果指定,則將輸出重定向到文件。

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

用於執行系統命令的Helper方法,如果所需時間超過指定時間,則中止該方法。

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

用於執行系統命令的Helper方法,如果所需時間超過指定時間,則中止該方法。

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

用於執行系統命令的Helper方法,如果所需時間超過指定時間,則中止該方法。

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

幫助程序方法,用於執行需要標準輸入的系統命令,如果所需時間超過指定時間,則中止該方法。

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

幫助程序方法,用於執行需要標準輸入的系統命令,如果所需時間超過指定時間,則中止該方法。

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

用於執行系統命令的Helper方法,該命令需要從文件中重定向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 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)方法從其他線程中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)

中斷給定線程上正在進行的/即將執行的運行操作。給定線程上的運行操作將拋出RunInterruptedException

參量
message StringRunInterruptedException的消息。

isInterruptAllowed

public boolean isInterruptAllowed ()

給出RunUtil的中斷狀態。

退貨
boolean 如果可以中斷運行,則為true,否則為false。

runCmdInBackground

public Process runCmdInBackground (String... command)

異步執行系統命令的Helper方法。

啟動命令後將立即返回。

參量
command String :指定的系統命令以及exec的可選參數

退貨
Process 執行命令的Process

runCmdInBackground

public Process runCmdInBackground ( command)

替代的runCmdInBackground(String)方法,以ERROR(/List)形式接受命令參數。

參量
command ERROR(/List)包含指定的系統命令以及exec的可選參數

退貨
Process 執行命令的Process

runCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

運行帶有ERROR(/OutputStream)的命令將記錄命令的輸出。 Stdout和stderr合併在一起。

參量
command :要運行的命令

output OutputStream :保存輸出的OutputStream

退貨
Process 運行命令的Process

runEscalatingTimedRetry

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

多次阻止並執行一個操作,直到成功為止。

以指數方式增加操作嘗試之間的等待時間。它旨在在執行諸如輪詢服務器之類的操作時使用,以便在服務器暫時關閉時給其時間恢復。

參量
opTimeout long :單次操作嘗試等待的最長時間(以毫秒為單位)

initialPollInterval long :兩次操作嘗試之間等待的初始時間

maxPollInterval long :兩次操作嘗試之間等待的最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 :單次操作嘗試等待的最長時間(以毫秒為單位)

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, 
                String... command)

用於執行系統命令的Helper方法,如果所需時間超過指定時間,則中止該方法。

參量
timeout long :最長等待時間,以毫秒為單位。 0表示沒有超時。

command String :指定的系統命令以及exec的可選參數

退貨
CommandResult 包含命令運行結果的CommandResult

runTimedCmd

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

用於執行系統命令的Helper方法,如果花費的時間超過指定的時間,則終止該方法,如果指定,則將輸出重定向到文件。當以這種方式提供ERROR(/OutputStream) ,它們將在函數末尾保持打開狀態。

參量
timeout long :超時等待的最長時間(以毫秒為單位)。 0表示沒有超時。

stdout OutputStreamERROR(/OutputStream)將在其中重定向標準輸出。可以為null。

stderr OutputStreamERROR(/OutputStream)將錯誤輸出重定向到此位置。可以為null。

command String :指定的系統命令以及exec的可選參數

退貨
CommandResult 包含命令運行結果的CommandResult

runTimedCmdRetry

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

用於執行系統命令的Helper方法,如果所需時間超過指定時間,則中止該方法。

參量
timeout long :每次嘗試等待的最長時間(以毫秒為單位)

retryInterval long :命令重試之間等待的時間

attempts int :最大嘗試次數

command String :指定的系統命令以及exec的可選參數

退貨
CommandResult 包含命令運行結果的CommandResult

runTimedCmdSilently

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

用於執行系統命令的Helper方法,如果所需時間超過指定時間,則中止該方法。與runTimedCmd(long, String)相似,但不會記錄任何異常錯誤。

參量
timeout long :最長等待時間(毫秒)

command String :指定的系統命令以及exec的可選參數

退貨
CommandResult 包含命令運行結果的CommandResult

runTimedCmdSilentlyRetry

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

用於執行系統命令的Helper方法,如果所需時間超過指定時間,則中止該方法。與runTimedCmdRetry(long, long, int, String[]) ,但是不會記錄任何異常錯誤。

參量
timeout long :最長等待時間(毫秒)

retryInterval long :命令重試之間等待的時間

attempts int :最大嘗試次數

command String :指定的系統命令以及exec的可選參數

退貨
CommandResult 包含命令運行結果的CommandResult

runTimedCmdWithInput

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

幫助程序方法,用於執行需要標準輸入的系統命令,如果所需時間超過指定時間,則中止該方法。

參量
timeout long :最長等待時間(毫秒)

input String :傳遞給處理的標準輸入

command ERROR(/List)包含系統命令和exec的可選參數

退貨
CommandResult 包含命令運行結果的CommandResult

runTimedCmdWithInput

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

幫助程序方法,用於執行需要標準輸入的系統命令,如果所需時間超過指定時間,則中止該方法。

參量
timeout long :最長等待時間(毫秒)

input String :傳遞給處理的標準輸入

command String :指定的系統命令以及exec的可選參數

退貨
CommandResult 包含命令運行結果的CommandResult

runTimedCmdWithInputRedirect

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

用於執行系統命令的Helper方法,該命令需要從文件中重定向Stdin,如果所需時間超過指定的時間,則中止操作。

參量
timeout long :最長等待時間(毫秒)

inputRedirect File :使用ProcessBuilder.redirectInput()重定向為標準輸入的ERROR(/File) ProcessBuilder.redirectInput() 。如果為null,則不會重定向stdin。

command String :指定的系統命令以及exec的可選參數

退貨
CommandResult 包含命令運行結果的CommandResult

runTimedRetry

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

多次阻止並執行一個操作,直到成功為止。

參量
opTimeout long :一次嘗試操作等待的最長時間(以毫秒為單位)

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)

等待一段時間後設置為可中斷。 CommandScheduler#shutdownHard()強制我們最終終止。

參量
thread Thread :將變為可中斷的線程。

timeMs long :設置可中斷之前需要等待的時間。

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 :變量名

也可以看看: