RunUtil
public class RunUtil
extends Object
implements IRunUtil
java.lang.Oggetto | |
↳ | 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 gli interrupt di esecuzione sul thread corrente. |
static IRunUtil | getDefault () Ottenere un riferimento all'oggetto |
void | interrupt (Thread thread, String message, ErrorIdentifier errorId) Interrompe le operazioni di esecuzione in corso/imminente sul thread specificato. |
void | interrupt (Thread thread, String message) Interrompe le operazioni di esecuzione in corso/imminente sul thread specificato. |
boolean | isInterruptAllowed () Fornire lo stato di interruzione di RunUtil. |
Process | runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command) Un metodo |
Process | runCmdInBackground ( command) runCmdInBackground ( command) Un metodo |
Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) L'esecuzione del comando con un |
Process | runCmdInBackground (String... command) Metodo helper per eseguire un comando di sistema in modo asincrono. |
Process | runCmdInBackground (Redirect redirect, String... command) Metodo helper 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 successo. |
boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Blocca ed esegue un'operazione più volte finché non ha successo. |
CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) Blocca ed esegue un'operazione, interrompendola se impiega più tempo di un tempo specificato. |
CommandResult | runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command) Metodo helper per eseguire un comando di sistema, interrompere se richiede più tempo di un tempo specificato e reindirizzare l'output ai file se specificato. |
CommandResult | runTimedCmd (long timeout, String... command) Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato. |
CommandResult | runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command) Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato. |
CommandResult | runTimedCmdSilently (long timeout, String... command) Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato. |
CommandResult | runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command) Metodo helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato. |
CommandResult | runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command) Metodo helper per eseguire un comando di sistema, interrompere se richiede più tempo di un tempo specificato e reindirizzare l'output ai file se specificato. |
CommandResult | runTimedCmdWithInput (long timeout, String input, String... command) Metodo helper per eseguire un comando di sistema che richiede l'input stdin e interrompere se richiede più tempo di un tempo specificato. |
CommandResult | runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command) Metodo helper per eseguire un comando di sistema che richiede l'input stdin e interrompere se richiede più tempo di un tempo specificato. |
CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) Metodo helper 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 successo. |
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, l'annullamento dell'impostazione della variabile d'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 di Linux 'kill' sul processo che esegue i metodi #runTimed quando raggiunge un timeout. |
void | setRedirectStderrToStdout (boolean redirect) Imposta il flusso di errore standard per il reindirizzamento 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 periodo di 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 dobbiamo eliminare la variabile di ambiente da |
Campi
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Costruttori pubblici
Metodi pubblici
consentireInterrupt
public void allowInterrupt (boolean allow)
Consente/non consente gli interrupt di esecuzione 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 interruzioni di esecuzione sul thread corrente. |
getDefault
public static IRunUtil getDefault ()
Ottenere 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/imminente sul thread specificato. Le operazioni di esecuzione sul thread specificato genereranno RunInterruptedException
.
Parametri | |
---|---|
message | String : il messaggio per RunInterruptedException . |
errorId | ErrorIdentifier : Rappresenta la causa dell'interruzione se nota. |
interrompere
public void interrupt (Thread thread, String message)
Interrompe le operazioni di esecuzione in corso/imminente sul thread specificato. Le operazioni di esecuzione sul thread specificato genereranno RunInterruptedException
.
Parametri | |
---|---|
message | String : il messaggio per RunInterruptedException . |
isInterruptAllowed
public boolean isInterruptAllowed ()
Fornire lo stato di interruzione di RunUtil.
ritorna | |
---|---|
boolean | true se l'esecuzione 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 a ProcessBuilder . |
command | ERROR(/List) contenente il comando di sistema specificato e, facoltativamente, gli argomenti di 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, gli argomenti di 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 uniti insieme.
Parametri | |
---|---|
command | |
output | OutputStream : OutputStream per salvare l'output |
ritorna | |
---|---|
Process | il Process che esegue il comando |
eseguireCmdInBackground
public Process runCmdInBackground (String... command)
Metodo helper 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 di exec |
ritorna | |
---|---|
Process | il Process del comando eseguito |
eseguireCmdInBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Metodo helper per eseguire un comando di sistema in modo asincrono.
Tornerà immediatamente dopo aver lanciato il comando.
Parametri | |
---|---|
redirect | Redirect : ERROR(/Redirect) da applicare a ProcessBuilder . |
command | String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec |
ritorna | |
---|---|
Process | il Process del comando eseguito |
runEscalatingTimedRetry
public boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blocca ed esegue un'operazione più volte finché non ha successo.
Aumenta esponenzialmente il tempo di attesa tra i tentativi di operazione. Questo è pensato per essere utilizzato durante l'esecuzione di un'operazione come il polling di un server, per dargli il tempo di ripristinarsi 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 massimo approssimativo totale 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 successo.
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 massimo approssimativo totale 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 |
runTimed
public CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blocca ed esegue un'operazione, interrompendola se impiega 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 sull'eccezione o meno. |
ritorna | |
---|---|
CommandStatus | il risultato dell'operazione CommandStatus . |
runTimedCmd
public CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Metodo helper per eseguire un comando di sistema, interrompere se richiede più tempo di un tempo specificato e reindirizzare l'output ai file se specificato. Quando ERROR(/OutputStream)
vengono forniti 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 verrà reindirizzato l'output std. Può essere nullo. |
stderr | OutputStream : ERROR(/OutputStream) dove verrà reindirizzato l'output dell'errore. Può essere nullo. |
command | String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmd
public CommandResult runTimedCmd (long timeout, String... command)
Metodo helper per eseguire un comando di sistema e interrompere 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 di 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 helper per eseguire un comando di sistema e interrompere 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 di exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdSilently
public CommandResult runTimedCmdSilently (long timeout, String... command)
Metodo helper per eseguire un comando di sistema e interrompere 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 di 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 helper per eseguire un comando di sistema e interrompere se impiega più tempo di un tempo specificato. Simile 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 di 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 helper per eseguire un comando di sistema, interrompere se richiede 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 al processo |
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 di exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Metodo helper per eseguire un comando di sistema che richiede l'input stdin e interrompere se richiede più tempo di un tempo specificato.
Parametri | |
---|---|
timeout | long : tempo massimo di attesa in ms |
input | String : l'input stdin da passare al processo |
command | String : il comando di sistema specificato e, facoltativamente, gli argomenti di exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Metodo helper per eseguire un comando di sistema che richiede l'input stdin e interrompere se richiede più tempo di un tempo specificato.
Parametri | |
---|---|
timeout | long : tempo massimo di attesa in ms |
input | String : l'input stdin da passare al processo |
command | ERROR(/List) contenente il comando di sistema e facoltativamente gli argomenti di exec |
ritorna | |
---|---|
CommandResult | un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdWithInputRedirect
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Metodo helper 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 di 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 successo.
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, l'annullamento dell'impostazione della variabile d'ambiente ha una priorità maggiore rispetto all'impostazione. Per impostazione predefinita, l'annullamento dell'impostazione ha la priorità più alta: ciò significa che se viene effettuato un tentativo di impostare una variabile con lo stesso nome, non accadrà poiché la variabile verrà annullata. Non può essere utilizzato sull'istanza 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 forzare 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 di Linux 'kill' sul processo che esegue i metodi #runTimed quando raggiunge un timeout. Non può essere utilizzato sull'istanza IRunUtil
predefinita.
Parametri | |
---|---|
interrupt | boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Imposta il flusso di errore standard per il reindirizzamento al flusso di output standard durante l'esecuzione dei comandi di sistema. Il valore iniziale è falso.
Parametri | |
---|---|
redirect | boolean : nuovo valore per stabilire se 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 |
sonno
public void sleep (long time)
Metodo di supporto per dormire per un determinato periodo di 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 dobbiamo eliminare la variabile di ambiente da ProcessBuilder.environment()
Parametri | |
---|---|
key | String : il nome della variabile |
Guarda anche: