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(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 |
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 |
Process
|
runCmdInBackground(Redirect redirect,
Un metodo |
Process
|
runCmdInBackground(
Un metodo |
Process
|
runCmdInBackground(
L'esecuzione del comando con |
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,
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 |
Campi
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
NOME_ESEGUIBILE_NOTIFIER
public static final String RUNNABLE_NOTIFIER_NAME
Costruttori pubblici
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 |
Vedi anche: