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,
可接受 |
abstract
Process
|
runCmdInBackground(
可接受 |
abstract
Process
|
runCmdInBackground(
使用 |
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
boolean
|
runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, 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
|
runTimedCmdRetryWithOutputMonitor(long timeout, long idleOutputTimeout, 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)
輔助方法,用於執行需要 stdin 輸入內容的系統指令,並在執行時間超過指定時間時中止。 |
abstract
CommandResult
|
runTimedCmdWithInput(long timeout, String input,
輔助方法,用於執行需要 stdin 輸入內容的系統指令,並在執行時間超過指定時間時中止。 |
abstract
CommandResult
|
runTimedCmdWithInputRedirect(long timeout, File inputRedirect, String... command)
輔助方法,用於執行需要從檔案重新導向 Stdin 的系統指令,並在執行時間超過指定時間時中止。 |
abstract
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, String... command)
執行系統指令的輔助方法,如果執行時間超過指定時間,就會中止,並將輸出內容重新導向至指定的檔案。 |
abstract
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, String... command)
執行系統指令的輔助方法,如果執行時間超過指定時間,就會中止。 |
abstract
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, ICacheClient cacheClient, String... command)
輔助方法,可執行具有快取功能的系統指令。 |
abstract
boolean
|
runTimedRetry(long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
封鎖並執行作業多次,直到成功為止。 |
abstract
boolean
|
runTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
封鎖並執行作業多次,直到成功為止。 |
abstract
CommandStatus
|
runTimedWithOutputMonitor(long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
封鎖並執行作業,如果作業時間超過指定時間,則中止作業。 |
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)
允許在達到逾時時,使用 Linux 的「kill」中斷功能,對透過 #runTimed 方法執行的程序進行中斷。 |
abstract
void
|
setRedirectStderrToStdout(boolean redirect)
設定標準錯誤串流,以便在執行系統指令時重新導向至標準輸出串流。 |
abstract
void
|
setWorkingDir(File dir)
設定系統指令的工作目錄。 |
abstract
void
|
sleep(long time)
輔助方法,可讓程式暫停一段時間,並忽略任何例外狀況。 |
abstract
void
|
unsetEnvVariable(String key)
取消設定環境變數,讓系統指令在沒有此環境變數的情況下執行。 |
abstract
void
|
uploadCache(ICacheClient cacheClient, ExecutableActionResult actionResult)
使用 cacheClient 上傳上次執行的 |
公用方法
allowInterrupt
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)
執行指令,即可記錄指令的輸出內容。將 stdout 和 stderr 合併在一起。
參數 | |
---|---|
command |
:要執行的指令 |
output |
OutputStream :用於儲存輸出的 OutputStream |
傳回 | |
---|---|
Process |
執行指令的 Process |
擲回 | |
---|---|
|
IOException |
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 :單一作業嘗試的最大等待時間 (以毫秒為單位) |
initialPollInterval |
long :作業嘗試之間的初始等待時間 |
maxPollInterval |
long :作業嘗試之間的最大等待時間 |
maxTime |
long :持續嘗試該作業的總預估上限時間 |
runnable |
IRunUtil.IRunnableResult :要執行的 IRunUtil.IRunnableResult |
傳回 | |
---|---|
boolean |
true :如果作業在 maxTime 到期前順利完成 |
runFixedTimedRetry
public abstract boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
封鎖並多次執行作業,直到成功為止。
參數 | |
---|---|
opTimeout |
long :單一作業嘗試的最大等待時間 (以毫秒為單位) |
pollInterval |
long :作業嘗試之間的初始等待時間 |
maxTime |
long :持續嘗試該作業的總預估上限時間 |
runnable |
IRunUtil.IRunnableResult :要執行的 IRunUtil.IRunnableResult |
傳回 | |
---|---|
boolean |
true :如果作業在 maxTime 到期前順利完成 |
runFixedTimedRetryWithOutputMonitor
public abstract boolean runFixedTimedRetryWithOutputMonitor (long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
封鎖並多次執行作業,直到成功為止。同時監控輸出串流的活動,如果在指定時間內未偵測到任何串流活動,就會中止。如果將 idleOutputTimeout 設為零,系統就不會監控串流。
參數 | |
---|---|
opTimeout |
long :單一作業嘗試的最大等待時間 (以毫秒為單位) |
idleOutputTimeout |
long :輸出串流的輸出內容等待時間上限 (以毫秒為單位) |
pollInterval |
long :作業嘗試之間的初始等待時間 |
maxTime |
long :持續嘗試該作業的總預估上限時間 |
runnable |
IRunUtil.IRunnableResult :要執行的 IRunUtil.IRunnableResult |
傳回 | |
---|---|
boolean |
true :如果作業在 maxTime 到期前順利完成 |
runTimed
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)
時,會在函式結束時將其保持開啟狀態。
參數 | |
---|---|
timeout |
long :逾時最大等待時間 (以毫秒為單位)。0 表示沒有逾時。 |
stdout |
OutputStream :ERROR(/OutputStream) ,其中 std 輸出內容會重新導向。可為空值。 |
stderr |
OutputStream :ERROR(/OutputStream) 會將錯誤輸出內容重新導向。可為空值。 |
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 |
runTimedCmdRetryWithOutputMonitor
public abstract CommandResult runTimedCmdRetryWithOutputMonitor (long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)
執行系統指令的輔助方法,如果執行時間超過指定時間,就會中止。同時監控輸出串流的活動,如果在指定時間內未偵測到任何串流活動,就會中止。如果將 idleOutputTimeout 設為零,系統就不會監控串流。
參數 | |
---|---|
timeout |
long :每次嘗試的最大等待時間 (以毫秒為單位) |
idleOutputTimeout |
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) ,其中 std 輸出內容會重新導向。可為空值。 |
stderrFile |
File :ERROR(/File) 會將錯誤輸出內容重新導向。可為空值。 |
command |
String :指定的系統指令和選用的執行引數 |
傳回 | |
---|---|
CommandResult |
包含指令執行結果的 CommandResult |
runTimedCmdWithInput
public abstract CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
輔助方法,用於執行需要 stdin 輸入內容的系統指令,並在執行時間超過指定時間時中止。
參數 | |
---|---|
timeout |
long :等待時間上限 (以毫秒為單位) |
input |
String :要傳遞至程序的 stdin 輸入內容 |
command |
String :指定的系統指令和選用的執行引數 |
傳回 | |
---|---|
CommandResult |
包含指令執行結果的 CommandResult |
runTimedCmdWithInput
public abstract CommandResult runTimedCmdWithInput (long timeout, String input,command)
輔助方法,用於執行需要 stdin 輸入內容的系統指令,並在執行時間超過指定時間時中止。
參數 | |
---|---|
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 |
runTimedCmdWithOutputMonitor
public abstract CommandResult runTimedCmdWithOutputMonitor (long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, String... command)
輔助方法可執行系統指令,如果執行時間超過指定時間,就會中止,並將輸出內容重新導向至指定的檔案。以這種方式提供 ERROR(/OutputStream)
時,會在函式結束時將其保持開啟狀態。
參數 | |
---|---|
timeout |
long :逾時最大等待時間 (以毫秒為單位)。0 表示沒有逾時。 |
idleOutputTimeout |
long :輸出串流的輸出內容等候時間上限 (以毫秒為單位) |
stdout |
OutputStream :ERROR(/OutputStream) ,其中 std 輸出內容會重新導向。可為空值。 |
stderr |
OutputStream :ERROR(/OutputStream) 會將錯誤輸出內容重新導向。可為空值。 |
command |
String :指定的系統指令和選用的執行引數 |
傳回 | |
---|---|
CommandResult |
包含指令執行結果的 CommandResult |
runTimedCmdWithOutputMonitor
public abstract CommandResult runTimedCmdWithOutputMonitor (long timeout, long idleOutputTimeout, String... command)
執行系統指令的輔助方法,如果執行時間超過指定時間,就會中止。同時監控輸出串流的活動,如果在指定時間內未偵測到任何串流活動,就會中止。如果將 idleOutputTimeout 設為零,系統就不會監控串流。
參數 | |
---|---|
timeout |
long :等待時間上限 (以毫秒為單位)。0 表示沒有逾時。 |
idleOutputTimeout |
long :輸出串流的輸出內容等待時間上限 (以毫秒為單位) |
command |
String :指定的系統指令和選用的執行引數 |
傳回 | |
---|---|
CommandResult |
包含指令執行結果的 CommandResult |
runTimedCmdWithOutputMonitor
public abstract 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) ,其中 std 輸出內容會重新導向。可為空值。 |
stderr |
OutputStream :ERROR(/OutputStream) 會將錯誤輸出內容重新導向。可為空值。 |
cacheClient |
ICacheClient :用於處理快取的 ICacheClient 例項。 |
command |
String :指定的系統指令和選用的執行引數。 |
傳回 | |
---|---|
CommandResult |
包含指令執行結果的 CommandResult 。 |
runTimedRetry
public abstract boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
封鎖並多次執行作業,直到成功為止。
參數 | |
---|---|
opTimeout |
long :單一作業嘗試的最大等待時間 (以毫秒為單位) |
pollInterval |
long :指令重試之間的等待時間 |
attempts |
int :嘗試次數上限 |
runnable |
IRunUtil.IRunnableResult :要執行的 IRunUtil.IRunnableResult |
傳回 | |
---|---|
boolean |
如果作業在嘗試次數達到上限前順利完成,則為 true 。 |
runTimedRetryWithOutputMonitor
public abstract boolean runTimedRetryWithOutputMonitor (long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
封鎖並多次執行作業,直到成功為止。同時監控輸出串流的活動,如果在指定時間內未偵測到任何串流活動,就會中止。如果將 idleOutputTimeout 設為零,系統就不會監控串流。
參數 | |
---|---|
opTimeout |
long :單一作業嘗試的最大等待時間 (以毫秒為單位) |
idleOutputTimeout |
long :輸出串流的輸出內容等待時間上限 (以毫秒為單位) |
pollInterval |
long :指令重試之間的等待時間 |
attempts |
int :嘗試次數上限 |
runnable |
IRunUtil.IRunnableResult :要執行的 IRunUtil.IRunnableResult |
傳回 | |
---|---|
boolean |
如果作業在嘗試次數達到上限前順利完成,則為 true 。 |
runTimedWithOutputMonitor
public abstract CommandStatus runTimedWithOutputMonitor (long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
封鎖並執行作業,如果作業時間超過指定時間,則中止作業。也會監控輸出串流的活動,如果在指定時間內未偵測到任何串流活動,就會中止。如果將 idleOutputTimeout 設為零,系統就不會監控串流。
參數 | |
---|---|
timeout |
long :等待時間上限 (以毫秒為單位) |
idleOutputTimeout |
long :輸出串流的輸出內容等待時間上限 (以毫秒為單位) |
runnable |
IRunUtil.IRunnableResult :要執行的 IRunUtil.IRunnableResult |
logErrors |
boolean :是否記錄例外狀況的錯誤。 |
傳回 | |
---|---|
CommandStatus |
運算的 CommandStatus 結果。 |
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)
允許在達到逾時時,使用 Linux 的「kill」中斷功能,對透過 #runTimed 方法執行的程序進行中斷。無法在預設 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 :變數名稱 |
uploadCache
public abstract void uploadCache (ICacheClient cacheClient, ExecutableActionResult actionResult)
使用 cacheClient 上傳上次執行的 ExecutableActionResult
。
參數 | |
---|---|
cacheClient |
ICacheClient :用於上傳結果的 ICacheClient 。 |
actionResult |
ExecutableActionResult :要上傳的 ExecutableActionResult 。 |