RunUtil

public class RunUtil
extends Object implements IRunUtil

java.lang.Object
🎞 com.android.tradefed.util.RunUtil


Una raccolta di metodi helper per l'esecuzione delle 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.

RunUtil(boolean inheritEnvVars)

Metodi pubblici

void allowInterrupt(boolean allow)

Consente/non consente l'esecuzione di interruzioni 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/successive sul thread specificato.

void interrupt(Thread thread, String message)

Interrompe le operazioni di esecuzione in corso/successive sul thread specificato.

boolean isInterruptAllowed()

Specifica lo stato di interruzione di RunUtil.

static void linkFile(File destRoot, String relToRoot, File target)

Collega target a un luogo all'interno di destRoot.

Process runCmdInBackground(Redirect redirect, command)

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

Process runCmdInBackground( command)

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

Process runCmdInBackground( command, OutputStream output)

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

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 fino a quando non riesce.

boolean runFixedTimedRetry(long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Blocca ed esegue un'operazione più volte fino a quando non riesce.

boolean runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Blocca ed esegue un'operazione più volte fino a quando non riesce.

CommandStatus runTimed(long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

Blocca ed esegue un'operazione, interrompendola se richiede più tempo di quello specificato.

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

Metodo helper per eseguire un comando di sistema, da interrompere se richiede più tempo di quello specificato e reindirizzare l'output ai file, se specificato.

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

Metodo helper per eseguire un comando di sistema e l'interruzione se richiede più tempo di quanto specificato nel tempo.

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

Metodo helper per eseguire un comando di sistema e l'interruzione se richiede più tempo di quanto specificato nel tempo.

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

Metodo helper per eseguire un comando di sistema e l'interruzione se richiede più tempo di quanto specificato nel tempo.

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

Metodo helper per eseguire un comando di sistema e l'interruzione se richiede più tempo di quanto specificato nel tempo.

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

Metodo helper per eseguire un comando di sistema e l'interruzione se richiede più tempo di quanto specificato nel tempo.

CommandResult runTimedCmdWithInput(long timeout, String input, File stdoutFile, File stderrFile, String... command)

Metodo helper per eseguire un comando di sistema, da interrompere se richiede più tempo di quello 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 l'interruzione, se necessario richiede più tempo rispetto a quello specificato.

CommandResult runTimedCmdWithInput(long timeout, String input, command)

Metodo helper per eseguire un comando di sistema che richiede l'input stdin e l'interruzione, se necessario richiede più tempo rispetto a quello 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 l'interruzione se richiede più tempo di quello specificato.

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

Metodo helper per eseguire un comando di sistema, da interrompere se richiede più tempo di quello specificato e reindirizzare l'output ai file, se specificato.

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, String... command)

Metodo helper per eseguire un comando di sistema e l'interruzione se richiede più tempo di quanto specificato nel tempo.

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, ICacheClient cacheClient, String... command)

Metodo helper per eseguire un comando di sistema con memorizzazione nella cache.

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

Blocca ed esegue un'operazione più volte fino a quando non riesce.

boolean runTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)

Blocca ed esegue un'operazione più volte fino a quando non riesce.

CommandStatus runTimedWithOutputMonitor(long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

Blocca ed esegue un'operazione, interrompendola se richiede più tempo di quello specificato.

void setEnvVariable(String name, String value)

Consente di impostare 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 di ambiente è superiore anziché impostarle.

void setInterruptibleInFuture(Thread thread, long timeMs)

Imposta come "interrompibile" dopo un po' di tempo di attesa.

void setLinuxInterruptProcess(boolean interrupt)

Consenti l'utilizzo di "kill" di Linux un'interruzione nel processo in esecuzione tramite i metodi #runTimed quando raggiunge il timeout.

void setRedirectStderrToStdout(boolean redirect)

Imposta il flusso di errori standard in modo che reindirizzi al flusso di output standard quando è in esecuzione il sistema tramite comandi SQL.

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.

static String toRelative(File start, String target)
void unsetEnvVariable(String key)

Annulla la configurazione di una variabile di ambiente, in modo che i comandi di sistema vengano eseguiti senza questa variabile di ambiente. Le variabili di ambiente potrebbero ereditare dal processo padre, quindi dobbiamo eliminarle la variabile di ambiente da ProcessBuilder.environment()

Campi

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

NOME_ESEGUIBILE_NOTIFIER

public static final String RUNNABLE_NOTIFIER_NAME

Costruttori pubblici

RunUtil

public RunUtil ()

Crea un nuovo oggetto RunUtil da utilizzare.

RunUtil

public RunUtil (boolean inheritEnvVars)

Parametri
inheritEnvVars boolean

Metodi pubblici

allowInterrupt

public void allowInterrupt (boolean allow)

Consente/non consente l'esecuzione di interruzioni sul thread corrente. Se consentito, esegui le operazioni il thread corrente può essere interrotto da altri thread con il metodo interrupt(Thread, String).

Parametri
allow boolean: se consentire l'esecuzione di interruzioni sul thread corrente.

getDefault

public static IRunUtil getDefault ()

Ottieni un riferimento all'oggetto RunUtil predefinito.

Questo è utile per i chiamanti che vogliono utilizzare IRunUtil senza personalizzazione. È consigliabile che i chiamanti che hanno bisogno di un'istanza IRunUtil personalizzata (ad esempio, è necessario chiamare setEnvVariable(String, String) o setWorkingDir(File) creano la propria copia.

Ritorni
IRunUtil

interrompere

public void interrupt (Thread thread, 
                String message, 
                ErrorIdentifier errorId)

Interrompe le operazioni di esecuzione in corso/successive sul thread specificato. Le operazioni di esecuzione il thread specificato genererà 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/successive sul thread specificato. Le operazioni di esecuzione il thread specificato genererà RunInterruptedException.

Parametri
message String: il messaggio per RunInterruptedException.

èInterruptAllowed

public boolean isInterruptAllowed ()

Specifica lo stato di interruzione di RunUtil.

Ritorni
boolean true se l'esecuzione può essere interrotta, false in caso contrario.

LinkFile

public static void linkFile (File destRoot, 
                String relToRoot, 
                File target)

Collega target a un luogo all'interno di destRoot.

Se il file di destinazione o il link simbolico esiste già in destRoot, il file non verranno collegati.

Parametri
destRoot File: la radice della destinazione.

relToRoot String: il percorso relativo dalla directory di destinazione alla radice.

target File: il file di destinazione da collegare.

Lanci
se non è possibile collegare il file di destinazione.

eseguiCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

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

Parametri
redirect Redirect: il valore ERROR(/Redirect) da applicare a ProcessBuilder.

command : ERROR(/List) contenente il comando di sistema specificato e gli argomenti facoltativi in exec

Ritorni
Process il Process del comando eseguito

eseguiCmdInBackground

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 gli argomenti facoltativi in exec

Ritorni
Process il Process del comando eseguito

eseguiCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

L'esecuzione del comando con ERROR(/OutputStream) registra l'output del comando. Stdout e stderr sono uniti.

Parametri
command : il comando da eseguire

output OutputStream: OutputStream per salvare l'output

Ritorni
Process Process che esegue il comando

eseguiCmdInBackground

public Process runCmdInBackground (String... command)

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

Viene restituito subito dopo l'avvio del comando.

Parametri
command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
Process il Process del comando eseguito

eseguiCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                String... command)

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

Viene restituito subito dopo l'avvio del comando.

Parametri
redirect Redirect: il valore ERROR(/Redirect) da applicare a ProcessBuilder.

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
Process il Process del comando eseguito

runEscalatingTimedRiprova

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

Blocca ed esegue un'operazione più volte fino a quando non riesce.

Aumenta in modo esponenziale il tempo di attesa tra un tentativo e l'altro. È destinato a essere utilizzato durante l'esecuzione di un'operazione, ad esempio il polling di un server, per dargli il tempo di recuperare nel caso in cui non è al momento disponibile.

Parametri
opTimeout long: tempo massimo di attesa in ms per un singolo tentativo di operazione

initialPollInterval long: tempo di attesa iniziale tra un tentativo e l'altro

maxPollInterval long: tempo massimo di attesa tra un tentativo e l'altro

maxTime long: il tempo massimo totale approssimativo per continuare a provare l'operazione

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult da eseguire

Ritorni
boolean true se l'operazione viene completata correttamente prima della scadenza di maxTime

runFixedTimedRiprova

public boolean runFixedTimedRetry (long opTimeout, 
                long pollInterval, 
                long maxTime, 
                IRunUtil.IRunnableResult runnable)

Blocca ed esegue un'operazione più volte fino a quando non riesce.

Parametri
opTimeout long: tempo massimo di attesa in ms per un singolo tentativo di operazione

pollInterval long: tempo di attesa iniziale tra un tentativo e l'altro

maxTime long: il tempo massimo totale approssimativo per continuare a provare l'operazione

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult da eseguire

Ritorni
boolean true se l'operazione viene completata correttamente prima della scadenza di maxTime

runFixedTimedRiprovaWithOutputMonitor

public boolean runFixedTimedRetryWithOutputMonitor (long opTimeout, 
                long idleOutputTimeout, 
                long pollInterval, 
                long maxTime, 
                IRunUtil.IRunnableResult runnable)

Blocca ed esegue un'operazione più volte fino a quando non riesce. Monitora anche flussi di output per l'attività, interrompendo se non viene osservata alcuna attività di flusso per un periodo di tempo specificato. Se il valore di idleOutputTimeout è impostato su zero, non viene eseguito il monitoraggio del flusso.

Parametri
opTimeout long: tempo massimo di attesa in ms per un singolo tentativo di operazione

idleOutputTimeout long: tempo massimo di attesa in ms per l'output nei flussi di output

pollInterval long: tempo di attesa iniziale tra un tentativo e l'altro

maxTime long: il tempo massimo totale approssimativo per continuare a provare l'operazione

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult da eseguire

Ritorni
boolean true se l'operazione viene completata correttamente prima della scadenza di maxTime

tempo di esecuzione

public CommandStatus runTimed (long timeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

Blocca ed esegue un'operazione, interrompendola se richiede più tempo di quello specificato.

Parametri
timeout long: tempo di attesa massimo in ms

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult da eseguire

logErrors boolean: registra gli errori in caso di eccezione o meno.

Ritorni
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, da interrompere se richiede più tempo di quello specificato e reindirizzare l'output ai file, se specificato. Quando gli elementi ERROR(/OutputStream) vengono forniti in questo modo, rimarranno aperte al termine della funzione.

Parametri
timeout long: tempo massimo di attesa per timeout in ms. 0 significa nessun timeout.

stdout OutputStream: ERROR(/OutputStream) dove verrà reindirizzato l'output standard. Può essere null.

stderr OutputStream: ERROR(/OutputStream) dove verrà reindirizzato l'output dell'errore. Può essere null.

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
CommandResult un elemento 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 l'interruzione se richiede più tempo di quanto specificato nel tempo.

Parametri
timeout long: tempo di attesa massimo in ms. 0 significa nessun timeout.

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
CommandResult un elemento CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdRiprova

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

Metodo helper per eseguire un comando di sistema e l'interruzione se richiede più tempo di quanto specificato nel tempo.

Parametri
timeout long: tempo massimo di attesa in ms per ogni tentativo

retryInterval long: tempo di attesa tra un nuovo tentativo e l'altro

attempts int: numero massimo di tentativi

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
CommandResult un elemento CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdRiprovaWithOutputMonitor

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

Metodo helper per eseguire un comando di sistema e l'interruzione se richiede più tempo di quanto specificato nel tempo. Monitora anche l'attività dei flussi di output e si interrompe se non viene rilevata alcuna attività di streaming osservato per un determinato periodo di tempo. Se il valore di idleOutputTimeout è impostato su zero, non è previsto il monitoraggio del flusso .

Parametri
timeout long: tempo massimo di attesa in ms per ogni tentativo

idleOutputTimeout long: tempo massimo di attesa in ms per l'output nei flussi di output

retryInterval long: tempo di attesa tra un nuovo tentativo e l'altro

attempts int: numero massimo di tentativi

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
CommandResult un elemento 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 l'interruzione se richiede più tempo di quanto specificato nel tempo. Simile a runTimedCmd(long, String), ma non registra alcun errore .

Parametri
timeout long: tempo di attesa massimo in ms

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
CommandResult un elemento CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdSilentlyRiprova

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

Metodo helper per eseguire un comando di sistema e l'interruzione se richiede più tempo di quanto specificato nel tempo. Simile a runTimedCmdRetry(long, long, int, String[]), ma non registra alcun errore in caso di eccezione.

Parametri
timeout long: tempo di attesa massimo in ms

retryInterval long: tempo di attesa tra un nuovo tentativo e l'altro

attempts int: numero massimo di tentativi

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
CommandResult un elemento 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, da interrompere se richiede più tempo di quello specificato e reindirizzare l'output ai file, se specificato.

Parametri
timeout long: tempo massimo di attesa per timeout in ms. 0 significa nessun timeout.

input String: l'input stdin da passare al processo

stdoutFile File: ERROR(/File) dove verrà reindirizzato l'output standard. Può essere null.

stderrFile File: ERROR(/File) dove verrà reindirizzato l'output dell'errore. Può essere null.

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
CommandResult un elemento 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 l'interruzione, se necessario richiede più tempo rispetto a quello specificato.

Parametri
timeout long: tempo di attesa massimo in ms

input String: l'input stdin da passare al processo

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
CommandResult un elemento 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 l'interruzione, se necessario richiede più tempo rispetto a quello specificato.

Parametri
timeout long: tempo di attesa massimo in ms

input String: l'input stdin da passare al processo

command : ERROR(/List) contenente il comando di sistema e argomenti facoltativi per exec

Ritorni
CommandResult un elemento CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdWithInputReindirizzamento

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 l'interruzione se richiede più tempo di quello specificato.

Parametri
timeout long: tempo di attesa massimo in ms

inputRedirect File: il valore ERROR(/File) da reindirizzare come input standard utilizzando ProcessBuilder.redirectInput(). Se il valore è null, stdin non verrà reindirizzato.

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
CommandResult un elemento CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdWithOutputMonitor

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

Metodo helper per eseguire un comando di sistema, da interrompere se richiede più tempo di quello specificato e reindirizzare l'output ai file, se specificato. Quando gli elementi ERROR(/OutputStream) vengono forniti in questo modo, rimarranno aperte al termine della funzione.

Parametri
timeout long: tempo massimo di attesa per timeout in ms. 0 significa nessun timeout.

idleOutputTimeout long: tempo massimo di attesa in ms per l'output nei flussi di output

stdout OutputStream: ERROR(/OutputStream) dove verrà reindirizzato l'output standard. Può essere null.

stderr OutputStream: ERROR(/OutputStream) dove verrà reindirizzato l'output dell'errore. Può essere null.

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
CommandResult un elemento CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                String... command)

Metodo helper per eseguire un comando di sistema e l'interruzione se richiede più tempo di quanto specificato nel tempo. Monitora anche l'attività dei flussi di output e si interrompe se non viene rilevata alcuna attività di streaming osservato per un determinato periodo di tempo. Se il valore di idleOutputTimeout è impostato su zero, non è previsto il monitoraggio del flusso .

Parametri
timeout long: tempo di attesa massimo in ms. 0 significa nessun timeout.

idleOutputTimeout long: tempo massimo di attesa in ms per l'output nei flussi di output

command String: il comando di sistema specificato e, facoltativamente, gli argomenti in exec

Ritorni
CommandResult un elemento CommandResult contenente il risultato dell'esecuzione del comando

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                OutputStream stdout, 
                OutputStream stderr, 
                ICacheClient cacheClient, 
                String... command)

Metodo helper per eseguire un comando di sistema con memorizzazione nella cache.

Se cacheClient è specificato, la memorizzazione nella cache verrà abilitata. Se la cache viene disponibile, verrà restituito il risultato memorizzato nella cache. Altrimenti, runTimedCmdWithOutputMonitor(long, long, OutputStream, OutputStream, String) verrà utilizzato per eseguire il comando e il risultato sarà caricato per la memorizzazione nella cache.

Parametri
timeout long: tempo massimo di attesa per timeout in ms. 0 significa nessun timeout.

idleOutputTimeout long: tempo massimo di attesa in ms per l'output nei flussi di output.

stdout OutputStream: ERROR(/OutputStream) dove verrà reindirizzato l'output standard. Può essere null.

stderr OutputStream: ERROR(/OutputStream) dove verrà reindirizzato l'output dell'errore. Può essere null.

cacheClient ICacheClient: un'istanza di ICacheClient utilizzata per gestire la memorizzazione nella cache.

command String: il comando di sistema specificato e gli argomenti facoltativi per exec.

Ritorni
CommandResult un'istruzione CommandResult contenente il risultato dell'esecuzione del comando.

runTimedRiprova

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

Blocca ed esegue un'operazione più volte fino a quando non riesce.

Parametri
opTimeout long: tempo massimo di attesa in ms per un tentativo di operazione

pollInterval long: tempo di attesa tra un nuovo tentativo e l'altro

attempts int: numero massimo di tentativi

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult da eseguire

Ritorni
boolean true se l'operazione è stata completata prima del raggiungimento dei tentativi.

runTimedRiprovaWithOutputMonitor

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

Blocca ed esegue un'operazione più volte fino a quando non riesce. Monitora anche flussi di output per l'attività, interrompendo se non viene osservata alcuna attività di flusso per un periodo di tempo specificato. Se il valore di idleOutputTimeout è impostato su zero, non viene eseguito il monitoraggio del flusso.

Parametri
opTimeout long: tempo massimo di attesa in ms per un tentativo di operazione

idleOutputTimeout long: tempo massimo di attesa in ms per l'output nei flussi di output

pollInterval long: tempo di attesa tra un nuovo tentativo e l'altro

attempts int: numero massimo di tentativi

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult da eseguire

Ritorni
boolean true se l'operazione è stata completata prima del raggiungimento dei tentativi.

runTimedWithOutputMonitor

public CommandStatus runTimedWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

Blocca ed esegue un'operazione, interrompendola se richiede più tempo di quello specificato. Inoltre monitora l'attività dei flussi di output, interrompendo se non viene osservata alcuna attività di streaming per un all'ora specificata. Se il valore di idleOutputTimeout è impostato su zero, non viene eseguito il monitoraggio del flusso.

Parametri
timeout long: tempo di attesa massimo in ms

idleOutputTimeout long: tempo massimo di attesa in ms per l'output nei flussi di output

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult da eseguire

logErrors boolean: registra gli errori in caso di eccezione o meno.

Ritorni
CommandStatus il risultato dell'operazione CommandStatus.

setEnvVariable

public void setEnvVariable (String name, 
                String value)

Consente di impostare 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 di ambiente è superiore anziché impostarle. Per impostazione predefinita, l'annullamento dell'impostazione ha una priorità più alta, ovvero nel caso in cui si cerchi di impostare una variabile con il valore-chiave lo stesso nome, non si verificherà poiché la variabile non verrà impostata. Non può essere utilizzato sull'istanza predefinita IRunUtil.

Parametri
priority IRunUtil.EnvPriority

impostaInterruptibleInFuture

public void setInterruptibleInFuture (Thread thread, 
                long timeMs)

Imposta come "interrompibile" dopo un po' di tempo di attesa. ERROR(/CommandScheduler#shutdownHard()) per applicare la chiusura definitiva.

Parametri
thread Thread: il thread che diventerà interrotto.

timeMs long: tempo di attesa prima di impostare l'interruzione.

setLinuxInterruptProcess

public void setLinuxInterruptProcess (boolean interrupt)

Consenti l'utilizzo di "kill" di Linux un'interruzione nel processo in esecuzione tramite i metodi #runTimed quando raggiunge il timeout. Non può essere utilizzato sull'istanza predefinita IRunUtil.

Parametri
interrupt boolean

setReindirizzamentoStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

Imposta il flusso di errori standard in modo che reindirizzi al flusso di output standard quando è in esecuzione il sistema tramite comandi SQL. Il valore iniziale è false.

Parametri
redirect boolean: nuovo valore per indicare 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 minori o uguali a 0 verranno ignorati

toRelativo

public static String toRelative (File start, 
                String target)

Parametri
start File

target String

Ritorni
String

unsetEnvVariable

public void unsetEnvVariable (String key)

Annulla la configurazione di una variabile di ambiente, in modo che i comandi di sistema vengano eseguiti senza questa variabile di ambiente. Le variabili di ambiente potrebbero ereditare dal processo padre, quindi dobbiamo eliminarle la variabile di ambiente da ProcessBuilder.environment()

Parametri
key String: il nome della variabile