Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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 RunUtil da utilizzare.

Metodi pubblici

void allowInterrupt (boolean allow)

Consente/non consente l'esecuzione di interrupt sul thread corrente.

static IRunUtil getDefault ()

Ottieni un riferimento all'oggetto RunUtil predefinito.

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 runCmdInBackground(String) alternativo che accetta gli argomenti del comando nel formato ERROR(/List) .

Process runCmdInBackground (String... command)

Metodo di supporto per eseguire un comando di sistema in modo asincrono.

Process runCmdInBackground ( command) runCmdInBackground ( command)

Un metodo runCmdInBackground(String) alternativo che accetta gli argomenti del comando nel formato ERROR(/List) .

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

L'esecuzione del comando con un ERROR(/OutputStream) registra l'output del comando.

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 ProcessBuilder.environment()

Campi

PREFISSO_EREDITÀ

public static final String INHERITIO_PREFIX

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Costruttori pubblici

RunUtil

public RunUtil ()

Crea un nuovo oggetto RunUtil da utilizzare.

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.

Ciò è utile per i chiamanti che desiderano utilizzare IrunUtil senza personalizzazione. È consigliabile che i chiamanti che necessitano di un'istanza IRunUtil personalizzata (ovvero devono chiamare 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 : il comando da eseguire

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