RunUtil
public
class
RunUtil
extends Object
implements
IRunUtil
java.lang.Object | |
↳ | com.android.tradefed.util.RunUtil |
Una raccolta di metodi di supporto per l'esecuzione di operazioni.
Riepilogo
Campi | |
---|---|
public
static
final
String |
INHERITIO_PREFIX
|
public
static
final
String |
RUNNABLE_NOTIFIER_NAME
|
Costruttori pubblici | |
---|---|
RunUtil()
Crea un nuovo oggetto |
|
RunUtil(boolean inheritEnvVars)
|
Metodi pubblici | |
---|---|
void
|
allowInterrupt(boolean allow)
Consente/disattiva le interruzioni di esecuzione nel thread corrente. |
ProcessBuilder
|
createProcessBuilder(Redirect redirect,
|
static
IRunUtil
|
getDefault()
Recupera un riferimento all'oggetto |
void
|
interrupt(Thread thread, String message, ErrorIdentifier errorId)
Interrompe le operazioni di esecuzione in corso/future sul thread specificato. |
void
|
interrupt(Thread thread, String message)
Interrompe le operazioni di esecuzione in corso/successive sul thread specificato. |
boolean
|
isInterruptAllowed()
Fornisce lo stato di interruzione di RunUtil. |
static
File
|
linkFile(File destRoot, String relToRoot, File target)
Collega |
Process
|
runCmdInBackground(Redirect redirect,
Un metodo |
Process
|
runCmdInBackground(
Un metodo |
Process
|
runCmdInBackground(
Esegui il comando con un |
Process
|
runCmdInBackground(String... command)
Metodo helper per eseguire un comando di sistema in modo asincrono. |
Process
|
runCmdInBackground(Redirect redirect, String... command)
Metodo di supporto per eseguire un comando di sistema in modo asincrono. |
boolean
|
runEscalatingTimedRetry(long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blocca ed esegue un'operazione più volte finché non va a buon fine. |
boolean
|
runFixedTimedRetry(long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blocca ed esegue un'operazione più volte finché non va a buon fine. |
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 di supporto per eseguire un comando di sistema, interrompere l'esecuzione se il tempo necessario è superiore a quello specificato e reindirizzare l'output ai file, se specificato. |
CommandResult
|
runTimedCmd(long timeout, String... command)
Metodo di supporto per eseguire un comando di sistema e interrompere l'operazione se richiede più tempo di quello specificato. |
CommandResult
|
runTimedCmdRetry(long timeout, long retryInterval, int attempts, String... command)
Metodo di supporto per eseguire un comando di sistema e interrompere l'operazione se richiede più tempo di quello specificato. |
CommandResult
|
runTimedCmdRetryWithOutputMonitor(long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)
Metodo di supporto per eseguire un comando di sistema e interrompere l'operazione se richiede più tempo di quello specificato. |
CommandResult
|
runTimedCmdSilently(long timeout, String... command)
Metodo di supporto per eseguire un comando di sistema e interrompere l'operazione se richiede più tempo di quello specificato. |
CommandResult
|
runTimedCmdSilentlyRetry(long timeout, long retryInterval, int attempts, String... command)
Metodo di supporto per eseguire un comando di sistema e interrompere l'operazione se richiede più tempo di quello specificato. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input, File stdoutFile, File stderrFile, String... command)
Metodo di supporto per eseguire un comando di sistema, interrompere l'esecuzione se il tempo necessario è superiore a quello specificato e reindirizzare l'output ai file, se specificato. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input, String... command)
Metodo di supporto per eseguire un comando di sistema che richiede l'input stdin e interrompere l'esecuzione se richiede più tempo di quello specificato. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input,
Metodo di supporto per eseguire un comando di sistema che richiede l'input stdin e interrompere l'esecuzione 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 dello standard Stdin da un file e 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, interromperlo se richiede più tempo di quello specificato e reindirizzare l'output ai file se specificato. |
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, String... command)
Metodo di supporto per eseguire un comando di sistema e interrompere l'operazione se richiede più tempo di quello specificato. |
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 finché non va a buon fine. |
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)
Quando crei un processo, decidi se annullare l'impostazione di una variabile di ambiente ha una priorità maggiore rispetto all'impostazione. |
void
|
setInterruptibleInFuture(Thread thread, long timeMs)
Impostato come interrompibile dopo un determinato tempo di attesa. |
void
|
setLinuxInterruptProcess(boolean interrupt)
Consente di utilizzare l'interruzione "kill" di Linux nel processo in esecuzione tramite i metodi #runTimed quando raggiunge un timeout. |
void
|
setRedirectStderrToStdout(boolean redirect)
Imposta lo stream di errori standard in modo che venga reindirizzato allo stream di output standard quando esegui i comandi di sistema. |
void
|
setWorkingDir(File dir)
Imposta la directory di lavoro per i comandi di sistema. |
void
|
sleep(long time)
Metodo di supporto per mettere in pausa l'esecuzione per un determinato periodo di tempo, ignorando eventuali eccezioni. |
static
String
|
toRelative(File start, File target)
|
static
String
|
toRelative(File start, String target)
|
void
|
unsetEnvVariable(String key)
Disattiva una variabile di ambiente, in modo che i comandi di sistema vengano eseguiti senza questa variabile di ambiente.
Le variabili di ambiente potrebbero essere ereditate dal processo principale, quindi dobbiamo eliminare la variabile di ambiente da |
void
|
uploadCache(ICacheClient cacheClient, ExecutableActionResult actionResult)
Carica l'ultima esecuzione di |
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, le operazioni di esecuzione del thread corrente possono essere interrotte da altri thread tramite il metodo interrupt(Thread, String)
.
Parametri | |
---|---|
allow |
boolean : indica se consentire interruzioni di esecuzione nel 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 gli utenti che vogliono utilizzare IRunUtil senza personalizzazione.
È consigliabile che i chiamanti che hanno bisogno di un'istanza IRunUtil personalizzata
(ad esempio che chiamino 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/future sul thread specificato. Le operazioni di esecuzione sul
thread specificato genereranno un 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 sul thread specificato generano RunInterruptedException
.
Parametri | |
---|---|
message |
String : il messaggio per RunInterruptedException . |
isInterruptAllowed
public boolean isInterruptAllowed ()
Fornisce lo stato di interruzione di RunUtil.
Ritorni | |
---|---|
boolean |
true se l'esecuzione può essere interrotta, false in caso contrario. |
linkFile
public static File linkFile (File destRoot, String relToRoot, File target)
Collega target
a un luogo in destRoot
.
Se il file di destinazione o il link simbolico esiste già in destRoot
, il file non sarà collegato.
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. |
Ritorni | |
---|---|
File |
il link simbolico |
Lanci | |
---|---|
|
Se il collegamento del file di destinazione non riesce. |
eseguiCmdInBackground
public Process runCmdInBackground (Redirect redirect,command)
Un metodo runCmdInBackground(String)
alternativo che accetta gli argomenti del comando
in 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
in forma 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 |
eseguiCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
Esegui il comando con un ERROR(/OutputStream)
per registrare 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 |
il Process che esegue il comando |
eseguiCmdInBackground
public Process runCmdInBackground (String... command)
Metodo di supporto 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 per exec |
Ritorni | |
---|---|
Process |
il Process del comando eseguito |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Metodo di supporto per eseguire un comando di sistema in modo asincrono.
Viene restituito subito 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 per exec |
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 fino a quando non riesce.
Aumenta in modo esponenziale il tempo di attesa tra i tentativi di operazione. Deve essere utilizzato quando si esegue un'operazione come il polling di un server, per dargli il tempo di riprendersi nel caso in cui sia temporaneamente non disponibile.
Parametri | |
---|---|
opTimeout |
long : 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 va a buon fine.
Parametri | |
---|---|
opTimeout |
long : tempo massimo di attesa in millisecondi per un singolo tentativo di operazione |
pollInterval |
long : tempo di attesa iniziale tra un tentativo e l'altro |
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 va a buon fine. Monitora inoltre l'attività degli stream di output, interrompendoli se non viene rilevata alcuna attività per un periodo di tempo specificato. Se il valore idleOutputTimeout è impostato su zero, non verrà eseguito alcun monitoraggio del flusso.
Parametri | |
---|---|
opTimeout |
long : tempo massimo di attesa in millisecondi per un singolo tentativo di operazione |
idleOutputTimeout |
long : tempo massimo di attesa in millisecondi per l'output negli stream 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 : indica se registrare o meno gli errori in caso di eccezione. |
Ritorni | |
---|---|
CommandStatus |
il CommandStatus risultato dell'operazione. |
runTimedCmd
public CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Metodo di supporto per eseguire un comando di sistema, interrompere l'esecuzione se il tempo necessario è superiore a quello specificato e reindirizzare l'output ai file, se specificato. Quando ERROR(/OutputStream)
vengono forniti in questo modo,
verranno lasciati aperti alla fine della funzione.
Parametri | |
---|---|
timeout |
long : tempo massimo di attesa in millisecondi. 0 indica che non è previsto alcun 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 di supporto per eseguire un comando di sistema e interrompere l'operazione se richiede più tempo di quello specificato.
Parametri | |
---|---|
timeout |
long : tempo massimo di attesa in millisecondi. 0 indica che non è previsto alcun timeout. |
command |
String : il comando di sistema specificato e, facoltativamente, gli argomenti per exec |
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 l'interruzione se richiede più tempo di un tempo specificato.
Parametri | |
---|---|
timeout |
long : tempo massimo di attesa in millisecondi per ogni tentativo |
retryInterval |
long : tempo di attesa tra i nuovi tentativi di comando |
attempts |
int : numero massimo di tentativi |
command |
String : il comando di sistema specificato e, facoltativamente, gli argomenti per exec |
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 di supporto per eseguire un comando di sistema e interrompere l'operazione se richiede più tempo di quello specificato. Monitora anche l'attività degli stream di output, interrompendoli se non viene osservata alcuna attività per un determinato periodo di tempo. Se idleOutputTimeout è impostato su zero, non verrà eseguito alcun monitoraggio dello stream.
Parametri | |
---|---|
timeout |
long : tempo massimo di attesa in millisecondi per ogni tentativo |
idleOutputTimeout |
long : tempo massimo di attesa in millisecondi per l'output negli stream di output |
retryInterval |
long : tempo di attesa tra i nuovi tentativi di comando |
attempts |
int : numero massimo di tentativi |
command |
String : il comando di sistema specificato e, facoltativamente, gli argomenti per exec |
Ritorni | |
---|---|
CommandResult |
un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdSilently
public CommandResult runTimedCmdSilently (long timeout, String... command)
Metodo di supporto per eseguire un comando di sistema e interrompere l'operazione 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 per exec |
Ritorni | |
---|---|
CommandResult |
un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdSilentlyRiprova
public CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
Metodo di supporto per eseguire un comando di sistema e interrompere l'operazione se richiede più tempo di quello specificato. Simile a runTimedCmdRetry(long, long, int, String[])
, ma non registra alcun errore in caso di eccezione.
Parametri | |
---|---|
timeout |
long : tempo massimo di attesa in ms |
retryInterval |
long : tempo di attesa tra un nuovo tentativo e l'altro |
attempts |
int : numero massimo di tentativi |
command |
String : il comando di sistema specificato e, facoltativamente, gli argomenti per exec |
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, interromperlo se richiede più tempo di quello specificato e reindirizzare l'output ai file se specificato.
Parametri | |
---|---|
timeout |
long : tempo massimo di attesa in millisecondi. 0 indica che non è previsto alcun 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 di supporto per eseguire un comando di sistema che richiede l'input stdin e interrompere l'esecuzione 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 per exec |
Ritorni | |
---|---|
CommandResult |
un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Metodo di supporto per eseguire un comando di sistema che richiede l'input stdin e interrompere l'esecuzione 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 per l'esecuzione |
Ritorni | |
---|---|
CommandResult |
un CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdWithInputReindirizzamento
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Metodo di supporto per eseguire un comando di sistema che richiede il reindirizzamento di Stdin da un file e l'interruzione se l'operazione richiede più tempo di quello specificato.
Parametri | |
---|---|
timeout |
long : tempo di attesa massimo in ms |
inputRedirect |
File : il ERROR(/File) da reindirizzare come input standard utilizzando ProcessBuilder.redirectInput() . Se è nullo, stdin non verrà reindirizzato. |
command |
String : il comando di sistema specificato e, facoltativamente, gli argomenti per exec |
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 di supporto per eseguire un comando di sistema, interrompere l'esecuzione se il tempo necessario è superiore a quello specificato e reindirizzare l'output ai file, se specificato. Quando ERROR(/OutputStream)
vengono forniti in questo modo,
verranno lasciati aperti alla fine della funzione.
Parametri | |
---|---|
timeout |
long : tempo massimo di attesa per timeout in ms. 0 indica 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 CommandResult contenente il risultato dell'esecuzione del comando |
runTimedCmdWithOutputMonitor
public CommandResult runTimedCmdWithOutputMonitor (long timeout, long idleOutputTimeout, String... command)
Metodo di supporto per eseguire un comando di sistema e interrompere l'operazione se richiede più tempo di quello specificato. Monitora anche l'attività dei flussi di output, interrompendo se non viene osservata alcuna attività di flusso 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 indica che non è previsto alcun 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 viene specificato cacheClient
, la memorizzazione nella cache verrà attivata. Se la cache è disponibile, verrà restituito il risultato memorizzato nella cache. In caso contrario, runTimedCmdWithOutputMonitor(long, long, OutputStream, OutputStream, String)
verrà utilizzato per eseguire il comando e il risultato verrà caricato per la memorizzazione nella cache.
Parametri | |
---|---|
timeout |
long : tempo massimo di attesa in millisecondi. 0 indica che non è previsto alcun 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, facoltativamente, gli argomenti 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 finché non va a buon fine.
Parametri | |
---|---|
opTimeout |
long : tempo massimo di attesa in millisecondi per un tentativo di operazione |
pollInterval |
long : tempo di attesa tra i nuovi tentativi di comando |
attempts |
int : il numero massimo di tentativi da effettuare |
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 va a buon fine. Monitora anche l'attività dei flussi di output, interrompendo se non viene osservata alcuna attività di flusso per un periodo di tempo specificato. Se idleOutputTimeout è impostato su zero, non verrà eseguito alcun monitoraggio dello stream.
Parametri | |
---|---|
opTimeout |
long : tempo massimo di attesa in millisecondi per un tentativo di operazione |
idleOutputTimeout |
long : tempo massimo di attesa in millisecondi per l'output negli stream di output |
pollInterval |
long : tempo di attesa tra i nuovi tentativi di comando |
attempts |
int : il numero massimo di tentativi da effettuare |
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 interrompe l'operazione se non viene rilevata alcuna attività per un determinato periodo di tempo. Se idleOutputTimeout è impostato su zero, non verrà eseguito alcun monitoraggio dello stream.
Parametri | |
---|---|
timeout |
long : tempo di attesa massimo in ms |
idleOutputTimeout |
long : tempo massimo di attesa in millisecondi per l'output negli stream di output |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult da eseguire |
logErrors |
boolean : indica se registrare o meno gli errori in caso di eccezione. |
Ritorni | |
---|---|
CommandStatus |
il CommandStatus risultato dell'operazione. |
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, lo scollegamento della variabile di ambiente ha una priorità superiore rispetto alla sua impostazione.
Per impostazione predefinita, lo scollegamento ha una priorità più elevata: ciò significa che se viene tentato di impostare una variabile con lo stesso nome, non verrà eseguita poiché la variabile non verrà impostata.
Non può essere utilizzato nell'istanza IRunUtil
predefinita.
Parametri | |
---|---|
priority |
IRunUtil.EnvPriority |
setInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Imposta come "interrompibile" dopo un po' di tempo di attesa.
ERROR(/CommandScheduler#shutdownHard())
per applicare la terminazione definitiva.
Parametri | |
---|---|
thread |
Thread : il thread che diventerà interrotto. |
timeMs |
long : il tempo di attesa prima di impostare l'opzione Interrompibile. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Consenti l'utilizzo dell'interruzione "kill" di Linux sul processo in esecuzione tramite i metodi #runTimed quando raggiunge un timeout.
Non può essere utilizzato nell'istanza IRunUtil
predefinita.
Parametri | |
---|---|
interrupt |
boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Imposta lo stream di errori standard in modo che venga reindirizzato allo stream di output standard quando esegui i comandi di sistema. Il valore iniziale è falso.
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 di supporto per mettere in pausa l'esecuzione per un determinato periodo di tempo, ignorando eventuali eccezioni.
Parametri | |
---|---|
time |
long : tempo di sospensione in millisecondi. I valori inferiori o uguali a 0 verranno ignorati |
toRelative
public static String toRelative (File start, File target)
Parametri | |
---|---|
start |
File |
target |
File |
Ritorni | |
---|---|
String |
toRelative
public static String toRelative (File start, String target)
Parametri | |
---|---|
start |
File |
target |
String |
Ritorni | |
---|---|
String |
unsetEnvVariable
public void unsetEnvVariable (String key)
Disattiva una variabile di ambiente, in modo che i comandi di sistema vengano eseguiti senza questa variabile di ambiente.
Le variabili di ambiente potrebbero essere ereditate dal processo principale, quindi dobbiamo eliminare la variabile di ambiente da ProcessBuilder.environment()
Parametri | |
---|---|
key |
String : il nome della variabile |
Vedi anche:
uploadCache
public void uploadCache (ICacheClient cacheClient, ExecutableActionResult actionResult)
Carica l'ultima esecuzione di ExecutableActionResult
con un cacheClient.
Parametri | |
---|---|
cacheClient |
ICacheClient : il ICacheClient utilizzato per caricare il risultato. |
actionResult |
ExecutableActionResult : il ExecutableActionResult da caricare. |