RunUtil
public class RunUtil
extends Object
implements IRunUtil
java.lang.Object | |
↳ | com.android.tradefed.util.RunUtil |
Una raccolta di metodi di supporto per l'esecuzione di operazioni.
Riepilogo
Campi | |
---|---|
public static final String | INHERITIO_PREFIX |
public static final String | RUNNABLE_NOTIFIER_NAME
|
Costruttori pubblici | |
---|---|
RunUtil () Crea un nuovo oggetto |
Metodi pubblici | |
---|---|
void | allowInterrupt (boolean allow) Consente/non consente l'esecuzione di interrupt sul thread corrente. |
static IRunUtil | getDefault () Ottieni un riferimento all'oggetto |
void | interrupt (Thread thread, String message, ErrorIdentifier errorId) Interrompe le operazioni di esecuzione in corso/prossime sul thread specificato. |
void | interrupt (Thread thread, String message) Interrompe le operazioni di esecuzione in corso/prossime sul thread specificato. |
boolean | isInterruptAllowed () Fornisci lo stato di interruzione di RunUtil. |
Process | runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command) Un metodo |
Process | runCmdInBackground (String... command) Metodo di supporto per eseguire un comando di sistema in modo asincrono. |
Process | runCmdInBackground ( command) runCmdInBackground ( command) Un metodo |
Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) L'esecuzione del comando con un |
Process | runCmdInBackground (Redirect redirect, String... command) Metodo di supporto per eseguire un comando di sistema in modo asincrono. |
boolean | runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Blocca ed esegue un'operazione più volte finché non ha esito positivo. |
boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Blocca ed esegue un'operazione più volte finché non ha esito positivo. |
CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) Blocca ed esegue un'operazione, interrompendola se richiede più tempo di un tempo specificato. |
CommandResult | runTimedCmd (long timeout, String... command) Metodo di supporto per eseguire un comando di sistema e interromperlo se impiega più tempo di un tempo specificato. |
CommandResult | runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command) Metodo di supporto per eseguire un comando di sistema, interromperlo se impiega più tempo di un tempo specificato e reindirizzare l'output ai file se specificato. |
CommandResult | runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command) Metodo di supporto per eseguire un comando di sistema e interromperlo se impiega più tempo di un tempo specificato. |
CommandResult | runTimedCmdSilently (long timeout, String... command) Metodo di supporto per eseguire un comando di sistema e interromperlo se impiega più tempo di un tempo specificato. |
CommandResult | runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command) Metodo di supporto per eseguire un comando di sistema e interromperlo se impiega più tempo di un tempo specificato. |
CommandResult | runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command) Metodo di supporto per eseguire un comando di sistema, interromperlo se impiega più tempo di un tempo specificato e reindirizzare l'output ai file se specificato. |
CommandResult | runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command) Metodo di supporto per eseguire un comando di sistema che richiede l'input stdin e interromperlo se richiede più tempo di un tempo specificato. |
CommandResult | runTimedCmdWithInput (long timeout, String input, String... command) Metodo di supporto per eseguire un comando di sistema che richiede l'input stdin e interromperlo se richiede più tempo di un tempo specificato. |
CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) Metodo di supporto per eseguire un comando di sistema che richiede il reindirizzamento di Stdin da un file e l'interruzione se richiede più tempo di un tempo specificato. |
boolean | runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable) Blocca ed esegue un'operazione più volte finché non ha esito positivo. |
void | setEnvVariable (String name, String value) Imposta una variabile di ambiente da utilizzare durante l'esecuzione dei comandi di sistema. |
void | setEnvVariablePriority ( IRunUtil.EnvPriority priority) Decidi se durante la creazione di un processo, annullare l'impostazione della variabile di ambiente ha una priorità maggiore rispetto all'impostazione. |
void | setInterruptibleInFuture (Thread thread, long timeMs) Impostato come interrompibile dopo un certo tempo di attesa. |
void | setLinuxInterruptProcess (boolean interrupt) Consenti di utilizzare l'interruzione "kill" di Linux sul processo in esecuzione tramite i metodi #runTimed quando raggiunge un timeout. |
void | setRedirectStderrToStdout (boolean redirect) Impostare il flusso di errore standard per reindirizzare al flusso di output standard durante l'esecuzione dei comandi di sistema. |
void | setWorkingDir (File dir) Imposta la directory di lavoro per i comandi di sistema. |
void | sleep (long time) Metodo di supporto per dormire per un determinato tempo, ignorando eventuali eccezioni. |
void | unsetEnvVariable (String key) Annulla l'impostazione di una variabile di ambiente, quindi i comandi di sistema vengono eseguiti senza questa variabile di ambiente. Le variabili di ambiente possono ereditare dal processo padre, quindi è necessario eliminare la variabile di ambiente da |
Campi
PREFISSO_EREDITÀ
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Costruttori pubblici
Metodi pubblici
consenti Interrompi
public void allowInterrupt (boolean allow)
Consente/non consente l'esecuzione di interrupt sul thread corrente. Se è consentito, le operazioni di esecuzione del thread corrente possono essere interrotte da altri thread tramite il metodo interrupt(Thread, String)
.
Parametri | |
---|---|
allow | boolean : se consentire gli interrupt di esecuzione sul thread corrente. |
getDefault
public static IRunUtil getDefault ()
Ottieni un riferimento all'oggetto RunUtil
predefinito.
setEnvVariable(String, String)
o setWorkingDir(File)
creino la propria copia.ritorna | |
---|---|
IRunUtil |
interrompere
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Interrompe le operazioni di esecuzione in corso/prossime sul thread specificato. Le operazioni di esecuzione sul thread specificato RunInterruptedException
.
Parametri | |
---|---|
message | String : il messaggio per RunInterruptedException . |
errorId | ErrorIdentifier : Rappresenta la causa dell'interruzione quando nota. |
interrompere
public void interrupt (Thread thread, String message)
Interrompe le operazioni di esecuzione in corso/prossime sul thread specificato. Le operazioni di esecuzione sul thread specificato RunInterruptedException
.
Parametri | |
---|---|
message | String : il messaggio per RunInterruptedException . |
isInterruptAllowed
public boolean isInterruptAllowed ()
Fornisci lo stato di interruzione di RunUtil.
ritorna | |
---|---|
boolean | true se la corsa può essere interrotta, false in caso contrario. |
eseguireCmdInBackground
public Process runCmdInBackground (Redirect redirect,command)
Un metodo runCmdInBackground(String)
alternativo che accetta gli argomenti del comando nel formato ERROR(/List)
.
Parametri | |
---|---|
redirect | Redirect : ERROR(/Redirect) da applicare al ProcessBuilder . |
command | ERROR(/List) contenente il comando di sistema specificato e facoltativamente argomenti per exec |
ritorna | |
---|---|
Process | il Process del comando eseguito |
eseguireCmdInBackground
public Process runCmdInBackground (String... command)
Metodo di supporto per eseguire un comando di sistema in modo asincrono.
Tornerà immediatamente dopo aver lanciato il comando.
Parametri | |
---|---|
command | String : il comando di sistema specificato e facoltativamente gli argomenti per exec |
ritorna | |
---|---|
Process | il Process del comando eseguito |
eseguireCmdInBackground
public Process runCmdInBackground (command)
Un metodo runCmdInBackground(String)
alternativo che accetta gli argomenti del comando nel formato ERROR(/List)
.
Parametri | |
---|---|
command | ERROR(/List) contenente il comando di sistema specificato e facoltativamente argomenti per exec |
ritorna | |
---|---|
Process | il Process del comando eseguito |
eseguireCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
L'esecuzione del comando con un ERROR(/OutputStream)
registra l'output del comando. Stdout e stderr vengono fusi insieme.
Parametri | |
---|---|
command | |
output | OutputStream : OutputStream per salvare l'output |
ritorna | |
---|---|
Process | il Process che esegue il comando |
eseguireCmdInBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Metodo di supporto per eseguire un comando di sistema in modo asincrono.
Tornerà immediatamente dopo aver lanciato il comando.
Parametri | |
---|---|
redirect | Redirect : ERROR(/Redirect) da applicare al ProcessBuilder . |
command | String : il comando di sistema specificato e facoltativamente gli argomenti per exec |
ritorna | |
---|---|
Process | il Process del comando eseguito |
runEscalingTimedRetry
public boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blocca ed esegue un'operazione più volte finché non ha esito positivo.
Aumenta esponenzialmente il tempo di attesa tra i tentativi di operazione. È pensato per essere utilizzato durante l'esecuzione di un'operazione come il polling di un server, per dargli il tempo di riprendersi nel caso in cui sia temporaneamente inattivo.Parametri | |
---|---|
opTimeout | long : tempo massimo di attesa in ms per un singolo tentativo di operazione |
initialPollInterval | long : tempo iniziale di attesa tra i tentativi di operazione |
maxPollInterval | long : il tempo massimo di attesa tra i tentativi di operazione |
maxTime | long : il tempo totale approssimativo massimo per continuare a provare l'operazione |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult da eseguire |
ritorna | |
---|---|
boolean | true se l'operazione è stata completata correttamente prima della scadenza di maxTime |
runFixedTimedRetry
public boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blocca ed esegue un'operazione più volte finché non ha esito positivo.
Parametri | |
---|---|
opTimeout | long : tempo massimo di attesa in ms per un singolo tentativo di operazione |
pollInterval | long : tempo iniziale di attesa tra i tentativi di operazione |
maxTime | long : il tempo totale approssimativo massimo per continuare a provare l'operazione |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult da eseguire |
ritorna | |
---|---|
boolean | true se l'operazione è stata completata correttamente prima della scadenza di maxTime |
a tempo
public CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blocca ed esegue un'operazione, interrompendola se richiede più tempo di un tempo specificato.
Parametri | |
---|---|
timeout | long : tempo massimo di attesa in ms |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult da eseguire |
logErrors | boolean : registra gli errori in caso di eccezione o meno. |
ritorna | |
---|---|
CommandStatus | il risultato dell'operazione CommandStatus . |
runTimedCmd
public CommandResult runTimedCmd (long timeout, String... command)
Metodo di supporto per eseguire un comando di sistema e interromperlo se impiega più tempo di un tempo specificato.
Parametri | |
---|---|
timeout | long : tempo massimo di attesa in ms. 0 significa nessun timeout. |
command | String : il comando di sistema specificato e facoltativamente gli argomenti per exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmd
public CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Metodo di supporto per eseguire un comando di sistema, interromperlo se impiega più tempo di un tempo specificato e reindirizzare l'output ai file se specificato. Quando ERROR(/OutputStream)
viene fornito in questo modo, verranno lasciati aperti alla fine della funzione.
Parametri | |
---|---|
timeout | long : timeout tempo massimo di attesa in ms. 0 significa nessun timeout. |
stdout | OutputStream : ERROR(/OutputStream) dove l'output std verrà reindirizzato. Può essere nullo. |
stderr | OutputStream : ERROR(/OutputStream) dove l'output dell'errore verrà reindirizzato. Può essere nullo. |
command | String : il comando di sistema specificato e facoltativamente gli argomenti per exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdRetry
public CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
Metodo di supporto per eseguire un comando di sistema e interromperlo se impiega più tempo di un tempo specificato.
Parametri | |
---|---|
timeout | long : tempo massimo di attesa in ms per ogni tentativo |
retryInterval | long : tempo di attesa tra i tentativi di comando |
attempts | int : il numero massimo di tentativi da provare |
command | String : il comando di sistema specificato e facoltativamente gli argomenti per exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdSilenziosamente
public CommandResult runTimedCmdSilently (long timeout, String... command)
Metodo di supporto per eseguire un comando di sistema e interromperlo se impiega più tempo di un tempo specificato. Simile a runTimedCmd(long, String)
, ma non registra alcun errore in caso di eccezione.
Parametri | |
---|---|
timeout | long : tempo massimo di attesa in ms |
command | String : il comando di sistema specificato e facoltativamente gli argomenti per exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdSilentlyRetry
public CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
Metodo di supporto per eseguire un comando di sistema e interromperlo se impiega più tempo di un tempo specificato. Simile a runTimedCmdRetry(long, long, int, String[])
, ma non registra alcun errore in caso di eccezione.
Parametri | |
---|---|
timeout | long : tempo massimo di attesa in ms |
retryInterval | long : tempo di attesa tra i tentativi di comando |
attempts | int : il numero massimo di tentativi da provare |
command | String : il comando di sistema specificato e facoltativamente gli argomenti per exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command)
Metodo di supporto per eseguire un comando di sistema, interromperlo se impiega più tempo di un tempo specificato e reindirizzare l'output ai file se specificato.
Parametri | |
---|---|
timeout | long : timeout tempo massimo di attesa in ms. 0 significa nessun timeout. |
input | String : l'input stdin da passare all'elaborazione |
stdoutFile | File : ERROR(/File) dove verrà reindirizzato l'output std. Può essere nullo. |
stderrFile | File : ERROR(/File) dove verrà reindirizzato l'output dell'errore. Può essere nullo. |
command | String : il comando di sistema specificato e facoltativamente gli argomenti per exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Metodo di supporto per eseguire un comando di sistema che richiede l'input stdin e interromperlo se richiede più tempo di un tempo specificato.
Parametri | |
---|---|
timeout | long : tempo massimo di attesa in ms |
input | String : l'input stdin da passare all'elaborazione |
command | ERROR(/List) contenente il comando di sistema e facoltativamente argomenti per exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Metodo di supporto per eseguire un comando di sistema che richiede l'input stdin e interromperlo se richiede più tempo di un tempo specificato.
Parametri | |
---|---|
timeout | long : tempo massimo di attesa in ms |
input | String : l'input stdin da passare all'elaborazione |
command | String : il comando di sistema specificato e facoltativamente gli argomenti per exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdWithInputRedirect
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Metodo di supporto per eseguire un comando di sistema che richiede il reindirizzamento di Stdin da un file e l'interruzione se richiede più tempo di un tempo specificato.
Parametri | |
---|---|
timeout | long : tempo massimo di attesa in ms |
inputRedirect | File : ERROR(/File) da reindirizzare come input standard utilizzando ProcessBuilder.redirectInput() . Se null, stdin non verrà reindirizzato. |
command | String : il comando di sistema specificato e facoltativamente gli argomenti per exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedRetry
public boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Blocca ed esegue un'operazione più volte finché non ha esito positivo.
Parametri | |
---|---|
opTimeout | long : tempo massimo di attesa in ms per un tentativo di operazione |
pollInterval | long : tempo di attesa tra i tentativi di comando |
attempts | int : il numero massimo di tentativi da provare |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult da eseguire |
ritorna | |
---|---|
boolean | true se l'operazione è stata completata correttamente prima del raggiungimento dei tentativi. |
setEnvVariable
public void setEnvVariable (String name, String value)
Imposta una variabile di ambiente da utilizzare durante l'esecuzione dei comandi di sistema.
Parametri | |
---|---|
name | String : il nome della variabile |
value | String : il valore della variabile |
setEnvVariablePriority
public void setEnvVariablePriority (IRunUtil.EnvPriority priority)
Decidi se durante la creazione di un processo, annullare l'impostazione della variabile di ambiente ha una priorità maggiore rispetto all'impostazione. Per Default, il disinserimento ha una priorità più alta: nel senso che se viene effettuato un tentativo di impostare una variabile con lo stesso nome, ciò non accadrà poiché la variabile verrà disinserita. Non può essere utilizzato IRunUtil
predefinita.
Parametri | |
---|---|
priority | IRunUtil.EnvPriority |
setInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Impostato come interrompibile dopo un certo tempo di attesa. ERROR(/CommandScheduler#shutdownHard())
per imporre la terminazione alla fine.
Parametri | |
---|---|
thread | Thread : il thread che diventerà interrompibile. |
timeMs | long : tempo di attesa prima di impostare interrompibile. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Consenti di utilizzare l'interruzione "kill" di Linux sul processo in esecuzione tramite i metodi #runTimed quando raggiunge un timeout. Non può essere utilizzato IRunUtil
predefinita.
Parametri | |
---|---|
interrupt | boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Impostare il flusso di errore standard per reindirizzare al flusso di output standard durante l'esecuzione dei comandi di sistema. Il valore iniziale è falso.
Parametri | |
---|---|
redirect | boolean : nuovo valore per reindirizzare o meno |
setWorkingDir
public void setWorkingDir (File dir)
Imposta la directory di lavoro per i comandi di sistema.
Parametri | |
---|---|
dir | File : la directory di lavoro |
dormire
public void sleep (long time)
Metodo di supporto per dormire per un determinato tempo, ignorando eventuali eccezioni.
Parametri | |
---|---|
time | long : ms per dormire. i valori inferiori o uguali a 0 verranno ignorati |
unsetEnvVariable
public void unsetEnvVariable (String key)
Annulla l'impostazione di una variabile di ambiente, quindi i comandi di sistema vengono eseguiti senza questa variabile di ambiente. Le variabili di ambiente possono ereditare dal processo padre, quindi è necessario eliminare la variabile di ambiente da ProcessBuilder.environment()
Parametri | |
---|---|
key | String : il nome della variabile |
Guarda anche: