RunUtil

public class RunUtil
extends Object implements IRunUtil

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


Una raccolta di metodi helper per l'esecuzione di operazioni.

Riepilogo

Costanti

String INHERITIO_PREFIX

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 interruzioni di esecuzione sul thread corrente.

ProcessBuilder createProcessBuilder(Redirect redirect, commandList, boolean enableCache)
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/imminenti sul thread specificato.

void interrupt(Thread thread, String message)

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

boolean isInterruptAllowed()

Restituisce lo stato di interruzione di RunUtil.

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 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.

boolean runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, 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 quello specificato.

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

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

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

Metodo helper per eseguire un comando di sistema e interrompere l'esecuzione se richiede più tempo di quello specificato.

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

Metodo helper per eseguire un comando di sistema e interrompere l'esecuzione se richiede più tempo di quello specificato.

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

Metodo helper per eseguire un comando di sistema e interrompere l'esecuzione se richiede più tempo di quello specificato.

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

Metodo helper per eseguire un comando di sistema e interrompere l'esecuzione se richiede più tempo di quello specificato.

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

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

CommandResult runTimedCmdWithInput(long timeout, String input, command)

Metodo helper per eseguire un comando di sistema che richiede l'input stdin e per interrompere l'operazione se richiede più tempo di 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 e l'interruzione se richiede più tempo di un periodo specificato.

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

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

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

Blocca ed esegue un'operazione più volte finché non ha esito positivo.

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

Blocca ed esegue un'operazione più volte finché non ha esito positivo.

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)

Imposta una variabile di ambiente da utilizzare durante l'esecuzione dei comandi di sistema.

void setEnvVariablePriority(IRunUtil.EnvPriority priority)

Decidere se, durante la creazione di un processo, l'annullamento dell'impostazione delle variabili di ambiente abbia una priorità superiore rispetto alla loro impostazione.

void setInterruptibleInFuture(Thread thread, long timeMs)

Impostato come interrompibile dopo un determinato periodo di attesa.

void setLinuxInterruptProcess(boolean interrupt)

Consente di utilizzare l'interruzione "kill" di Linux per il processo in esecuzione tramite i metodi #runTimed quando raggiunge un timeout.

void setRedirectStderrToStdout(boolean redirect)

Imposta il flusso di errori standard in modo che venga reindirizzato al flusso di output standard quando esegui comandi di sistema.

void setWorkingDir(File dir)

Imposta la directory di lavoro per i comandi di sistema.

void sleep(long time)

Metodo helper per sospendere l'esecuzione per un determinato periodo di tempo, ignorando eventuali eccezioni.

void unsetEnvVariable(String key)

Annulla l'impostazione di una variabile di ambiente, in modo che i comandi di sistema vengano eseguiti senza questa variabile di ambiente. Le variabili di ambiente possono essere ereditate dal processo padre, quindi dobbiamo eliminare la variabile di ambiente da ProcessBuilder.environment()

Costanti

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

Valore costante: "inheritio-"

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Constant Value: "RunnableNotifier"

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 interruzioni di esecuzione sul thread corrente. Se è consentito, le operazioni del thread corrente possono essere interrotte da altri thread tramite il metodo interrupt(Thread, String).

Parametri
allow boolean: indica se consentire le interruzioni di esecuzione sul thread corrente.

createProcessBuilder

public ProcessBuilder createProcessBuilder (Redirect redirect, 
                 commandList, 
                boolean enableCache)

Parametri
redirect Redirect

commandList

enableCache boolean

Ritorni
ProcessBuilder

getDefault

public static IRunUtil getDefault ()

Ottieni un riferimento all'oggetto RunUtil predefinito.

Questa opzione è utile per i chiamanti che vogliono utilizzare IRunUtil senza personalizzazione. È consigliabile che i chiamanti che hanno bisogno di un'istanza IRunUtil personalizzata (ad es. devono chiamare setEnvVariable(String, String) o setWorkingDir(File)) creino la propria copia.

Ritorni
IRunUtil

interrompere

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

Interrompe le operazioni di esecuzione in corso/imminenti 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/imminenti sul thread specificato. Le operazioni di esecuzione sul thread specificato genereranno RunInterruptedException.

Parametri
message String: il messaggio per RunInterruptedException.

isInterruptAllowed

public boolean isInterruptAllowed ()

Restituisce lo stato di interruzione di RunUtil.

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

runCmdInBackground

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 ERROR(/Redirect) da applicare al ProcessBuilder.

command : il ERROR(/List) contenente il comando di sistema specificato e, facoltativamente, gli argomenti da eseguire

Ritorni
Process il Process del comando eseguito

runCmdInBackground

public Process runCmdInBackground ( command)

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

Parametri
command : il ERROR(/List) contenente il comando di sistema specificato e, facoltativamente, gli argomenti da eseguire

Ritorni
Process il Process del comando eseguito

runCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

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

Parametri
command : il comando da eseguire

output OutputStream: l'OutputStream per salvare l'output

Ritorni
Process Process che esegue il comando

runCmdInBackground

public Process runCmdInBackground (String... command)

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

Verrà restituito immediatamente dopo l'avvio del comando.

Parametri
command String: il comando di sistema specificato e, facoltativamente, gli argomenti da eseguire

Ritorni
Process il Process del comando eseguito

runCmdInBackground

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

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

Verrà restituito immediatamente dopo l'avvio del comando.

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

command String: il comando di sistema specificato e, facoltativamente, gli argomenti da eseguire

Ritorni
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 esito positivo.

Aumenta in modo esponenziale il tempo di attesa tra i tentativi di operazione. Questo valore deve essere utilizzato quando esegui un'operazione come il polling di un server, per dargli il tempo di ripristinarsi nel caso in cui non sia temporaneamente disponibile.

Parametri
opTimeout long: il tempo massimo di attesa in millisecondi 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 tentare l'operazione

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult da eseguire

Ritorni
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: il tempo massimo di attesa in millisecondi 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 tentare l'operazione

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult da eseguire

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

runFixedTimedRetryWithOutputMonitor

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

Blocca ed esegue un'operazione più volte finché non ha esito positivo. Monitora anche i flussi di output per l'attività, interrompendoli se non viene osservata alcuna attività di streaming per un periodo di tempo specificato. Se idleOutputTimeout è impostato su zero, non verrà eseguito alcun monitoraggio dello stream.

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

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

pollInterval long: tempo iniziale di attesa tra i tentativi di operazione

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

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult da eseguire

Ritorni
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 richiede più tempo di quello 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.

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

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

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

stderr OutputStream: ERROR(/OutputStream) in cui verrà reindirizzato l'output degli errori. Può essere null.

command String: il comando di sistema specificato e, facoltativamente, gli argomenti da eseguire

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

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

command String: il comando di sistema specificato e, facoltativamente, gli argomenti da eseguire

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

Parametri
timeout long: il tempo massimo di attesa in millisecondi 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 da eseguire

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

runTimedCmdRetryWithOutputMonitor

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

Metodo helper per eseguire un comando di sistema e interrompere l'esecuzione se richiede più tempo di quello specificato. Monitora anche i flussi di output per l'attività, interrompendoli se non viene osservata alcuna attività di streaming per un periodo di tempo specificato. Se idleOutputTimeout è impostato su zero, non verrà eseguito alcun monitoraggio dello stream.

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

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

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 da eseguire

Ritorni
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 l'esecuzione se richiede più tempo di quello specificato. Simile a runTimedCmd(long, String), ma non registra errori in caso di eccezione.

Parametri
timeout long: tempo massimo di attesa in ms

command String: il comando di sistema specificato e, facoltativamente, gli argomenti da eseguire

Ritorni
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 l'esecuzione se richiede più tempo di quello specificato. Simile a runTimedCmdRetry(long, long, int, String[]), ma non registra errori 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 da eseguire

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

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

input String: l'input stdin da passare al processo

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

stderrFile File: ERROR(/File) in cui verrà reindirizzato l'output degli errori. Può essere null.

command String: il comando di sistema specificato e, facoltativamente, gli argomenti da eseguire

Ritorni
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 per interrompere l'operazione se richiede più tempo di quello 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 da eseguire

Ritorni
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 per interrompere l'operazione se richiede più tempo di quello 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 da eseguire

Ritorni
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 periodo specificato.

Parametri
timeout long: tempo massimo di attesa in ms

inputRedirect File: l'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 da eseguire

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

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

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

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

stderr OutputStream: ERROR(/OutputStream) in cui verrà reindirizzato l'output degli errori. Può essere null.

command String: il comando di sistema specificato e, facoltativamente, gli argomenti da eseguire

Ritorni
CommandResult un 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 interrompere l'esecuzione se richiede più tempo di quello specificato. Monitora anche i flussi di output per l'attività, interrompendoli se non viene osservata alcuna attività di streaming per un periodo di tempo specificato. Se idleOutputTimeout è impostato su zero, non verrà eseguito alcun monitoraggio dello stream.

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

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

command String: il comando di sistema specificato e, facoltativamente, gli argomenti da eseguire

Ritorni
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: il tempo massimo di attesa in millisecondi 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

Ritorni
boolean true se l'operazione è stata completata correttamente prima del raggiungimento del numero di tentativi.

runTimedRetryWithOutputMonitor

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

Blocca ed esegue un'operazione più volte finché non ha esito positivo. Monitora anche i flussi di output per l'attività, interrompendoli se non viene osservata alcuna attività di streaming per un periodo di tempo specificato. Se idleOutputTimeout è impostato su zero, non verrà eseguito alcun monitoraggio dello stream.

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

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

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

Ritorni
boolean true se l'operazione è stata completata correttamente prima del raggiungimento del numero di 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à degli stream di output e la interrompe se non viene osservata alcuna attività di streaming per un periodo di tempo specificato. Se idleOutputTimeout è impostato su zero, non verrà eseguito alcun monitoraggio dello stream.

Parametri
timeout long: tempo massimo di attesa in ms

idleOutputTimeout long: il tempo massimo di attesa in millisecondi 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)

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)

Decidere se, durante la creazione di un processo, l'annullamento dell'impostazione delle variabili di ambiente abbia una priorità superiore rispetto alla loro impostazione. Per impostazione predefinita, l'annullamento dell'impostazione ha la priorità più alta, il che significa che se viene effettuato un tentativo di impostare una variabile con lo stesso nome, l'operazione non andrà a buon fine perché 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 determinato periodo di attesa. ERROR(/CommandScheduler#shutdownHard()) per assicurarci di terminare l'operazione.

Parametri
thread Thread: il thread che diventerà interrompibile.

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

setLinuxInterruptProcess

public void setLinuxInterruptProcess (boolean interrupt)

Consente di utilizzare l'interruzione "kill" di Linux per il processo in esecuzione tramite 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 errori standard in modo che venga reindirizzato al flusso di output standard quando esegui comandi di sistema. Il valore iniziale è false.

Parametri
redirect boolean: nuovo valore per indicare se eseguire o meno il reindirizzamento

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 helper per sospendere l'esecuzione per un determinato periodo di tempo, ignorando eventuali eccezioni.

Parametri
time long: ms to sleep. values less than or equal to 0 will be ignored

unsetEnvVariable

public void unsetEnvVariable (String key)

Annulla l'impostazione di una variabile di ambiente, in modo che i comandi di sistema vengano eseguiti senza questa variabile di ambiente. Le variabili di ambiente possono essere ereditate dal processo padre, quindi dobbiamo eliminare la variabile di ambiente da ProcessBuilder.environment()

Parametri
key String: il nome della variabile