RunUtil
public class RunUtil
extends Object
implements IRunUtil
java.lang.Object | |
↳ | com.android.tradefed.util.RunUtil |
Uma coleção de métodos auxiliares para executar operações.
Resumo
Campos | |
---|---|
public static final String | INHERITIO_PREFIX |
public static final String | RUNNABLE_NOTIFIER_NAME
|
Construtores públicos | |
---|---|
RunUtil () Crie um novo objeto |
Métodos públicos | |
---|---|
void | allowInterrupt (boolean allow) Permite/não permite interrupções de execução no thread atual. |
static IRunUtil | getDefault () Obtenha uma referência ao objeto |
void | interrupt (Thread thread, String message, ErrorIdentifier errorId) Interrompe as operações de execução em andamento/futuras no thread fornecido. |
void | interrupt (Thread thread, String message) Interrompe as operações de execução em andamento/futuras no thread fornecido. |
boolean | isInterruptAllowed () Dê o status de interrupção do RunUtil. |
Process | runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command) Um método |
Process | runCmdInBackground ( command) runCmdInBackground ( command) Um método |
Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) A execução do comando com um |
Process | runCmdInBackground (String... command) Método auxiliar para executar um comando do sistema de forma assíncrona. |
Process | runCmdInBackground (Redirect redirect, String... command) Método auxiliar para executar um comando do sistema de forma assíncrona. |
boolean | runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Bloqueia e executa uma operação várias vezes até que seja bem-sucedida. |
boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Bloqueia e executa uma operação várias vezes até que seja bem-sucedida. |
CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) Bloqueia e executa uma operação, abortando se demorar mais do que o tempo especificado. |
CommandResult | runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command) Método auxiliar para executar um comando do sistema, abortar se demorar mais do que o tempo especificado e redirecionar a saída para arquivos, se especificado. |
CommandResult | runTimedCmd (long timeout, String... command) Método auxiliar para executar um comando do sistema e abortar se demorar mais do que um tempo especificado. |
CommandResult | runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command) Método auxiliar para executar um comando do sistema e abortar se demorar mais do que um tempo especificado. |
CommandResult | runTimedCmdSilently (long timeout, String... command) Método auxiliar para executar um comando do sistema e abortar se demorar mais do que um tempo especificado. |
CommandResult | runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command) Método auxiliar para executar um comando do sistema e abortar se demorar mais do que um tempo especificado. |
CommandResult | runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command) Método auxiliar para executar um comando do sistema, abortar se demorar mais do que o tempo especificado e redirecionar a saída para arquivos, se especificado. |
CommandResult | runTimedCmdWithInput (long timeout, String input, String... command) Método auxiliar para executar um comando do sistema que requer entrada stdin e abortar se demorar mais do que um tempo especificado. |
CommandResult | runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command) Método auxiliar para executar um comando do sistema que requer entrada stdin e abortar se demorar mais do que um tempo especificado. |
CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) Método auxiliar para executar um comando do sistema que requer o redirecionamento de Stdin de um arquivo e a interrupção se demorar mais do que o tempo especificado. |
boolean | runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable) Bloqueia e executa uma operação várias vezes até que seja bem-sucedida. |
void | setEnvVariable (String name, String value) Define uma variável de ambiente a ser usada ao executar comandos do sistema. |
void | setEnvVariablePriority ( IRunUtil.EnvPriority priority) Decida se, ao criar um processo, desarmar variáveis de ambiente é uma prioridade maior do que configurá-las. |
void | setInterruptibleInFuture (Thread thread, long timeMs) Definido como interrompível após algum tempo de espera. |
void | setLinuxInterruptProcess (boolean interrupt) Permite usar a interrupção 'kill' do linux no processo em execução através dos métodos #runTimed quando atinge um tempo limite. |
void | setRedirectStderrToStdout (boolean redirect) Defina o fluxo de erro padrão para redirecionar para o fluxo de saída padrão ao executar comandos do sistema. |
void | setWorkingDir (File dir) Define o diretório de trabalho para comandos do sistema. |
void | sleep (long time) Método auxiliar para dormir por um determinado tempo, ignorando quaisquer exceções. |
void | unsetEnvVariable (String key) Desativa uma variável de ambiente, portanto, os comandos do sistema são executados sem essa variável de ambiente. As variáveis de ambiente podem herdar do processo pai, portanto, precisamos excluir a variável de ambiente de |
Campos
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Construtores públicos
Métodos públicos
permitirinterrupção
public void allowInterrupt (boolean allow)
Permite/não permite interrupções de execução no thread atual. Se for permitido, as operações de execução do thread atual podem ser interrompidas por outros threads por meio do método interrupt(Thread, String)
.
Parâmetros | |
---|---|
allow | boolean : permite ou não interrupções de execução no thread atual. |
getDefault
public static IRunUtil getDefault ()
Obtenha uma referência ao objeto RunUtil
padrão.
setEnvVariable(String, String)
ou setWorkingDir(File)
criem sua própria cópia.devoluções | |
---|---|
IRunUtil |
interromper
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Interrompe as operações de execução em andamento/futuras no thread fornecido. As operações de execução no thread fornecido lançarão RunInterruptedException
.
Parâmetros | |
---|---|
message | String : a mensagem para RunInterruptedException . |
errorId | ErrorIdentifier : Representando a causa da interrupção quando conhecida. |
interromper
public void interrupt (Thread thread, String message)
Interrompe as operações de execução em andamento/futuras no thread fornecido. As operações de execução no thread fornecido lançarão RunInterruptedException
.
Parâmetros | |
---|---|
message | String : a mensagem para RunInterruptedException . |
é permitido interromper
public boolean isInterruptAllowed ()
Dê o status de interrupção do RunUtil.
devoluções | |
---|---|
boolean | true se a execução puder ser interrompida, false caso contrário. |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect,command)
Um método runCmdInBackground(String)
alternativo que aceita os argumentos de comando no formato ERROR(/List)
.
Parâmetros | |
---|---|
redirect | Redirect : O ERROR(/Redirect) a ser aplicado ao ProcessBuilder . |
command | ERROR(/List) contendo o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
Process | o Process do comando executado |
runCmdInBackground
public Process runCmdInBackground (command)
Um método runCmdInBackground(String)
alternativo que aceita os argumentos de comando no formato ERROR(/List)
.
Parâmetros | |
---|---|
command | ERROR(/List) contendo o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
Process | o Process do comando executado |
runCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
A execução do comando com um ERROR(/OutputStream)
registra a saída do comando. Stdout e stderr são mesclados.
Parâmetros | |
---|---|
command | |
output | OutputStream : o OutputStream para salvar a saída |
devoluções | |
---|---|
Process | o Process executando o comando |
runCmdInBackground
public Process runCmdInBackground (String... command)
Método auxiliar para executar um comando do sistema de forma assíncrona.
Retornará imediatamente após o lançamento do comando.
Parâmetros | |
---|---|
command | String : o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
Process | o Process do comando executado |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Método auxiliar para executar um comando do sistema de forma assíncrona.
Retornará imediatamente após o lançamento do comando.
Parâmetros | |
---|---|
redirect | Redirect : O ERROR(/Redirect) a ser aplicado ao ProcessBuilder . |
command | String : o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
Process | o Process do comando executado |
runEscalatingTimedRetry
public boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloqueia e executa uma operação várias vezes até que seja bem-sucedida.
Aumente exponencialmente o tempo de espera entre as tentativas de operação. Destina-se a ser usado ao executar uma operação como sondagem de um servidor, para dar tempo para que ele se recupere caso fique temporariamente inativo.Parâmetros | |
---|---|
opTimeout | long : tempo máximo de espera em ms para uma única tentativa de operação |
initialPollInterval | long : tempo inicial de espera entre as tentativas de operação |
maxPollInterval | long : o tempo máximo de espera entre as tentativas de operação |
maxTime | long : o tempo máximo total aproximado para continuar tentando a operação |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para executar |
devoluções | |
---|---|
boolean | true se a operação foi concluída com sucesso antes de maxTime expirar |
runFixedTimedRetry
public boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloqueia e executa uma operação várias vezes até que seja bem-sucedida.
Parâmetros | |
---|---|
opTimeout | long : tempo máximo de espera em ms para uma única tentativa de operação |
pollInterval | long : tempo inicial de espera entre as tentativas de operação |
maxTime | long : o tempo máximo total aproximado para continuar tentando a operação |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para executar |
devoluções | |
---|---|
boolean | true se a operação foi concluída com sucesso antes de maxTime expirar |
tempo de execução
public CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Bloqueia e executa uma operação, abortando se demorar mais do que o tempo especificado.
Parâmetros | |
---|---|
timeout | long : tempo máximo de espera em ms |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para executar |
logErrors | boolean : registra erros na exceção ou não. |
devoluções | |
---|---|
CommandStatus | o resultado da operação CommandStatus . |
runTimedCmd
public CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Método auxiliar para executar um comando do sistema, abortar se demorar mais do que o tempo especificado e redirecionar a saída para arquivos, se especificado. Quando ERROR(/OutputStream)
são fornecidos desta forma, eles serão deixados em aberto no final da função.
Parâmetros | |
---|---|
timeout | long : timeout tempo máximo de espera em ms. 0 significa que não há tempo limite. |
stdout | OutputStream : ERROR(/OutputStream) onde a saída padrão será redirecionada. Pode ser nulo. |
stderr | OutputStream : ERROR(/OutputStream) onde a saída de erro será redirecionada. Pode ser nulo. |
command | String : o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
CommandResult | um CommandResult contendo o resultado da execução do comando |
runTimedCmd
public CommandResult runTimedCmd (long timeout, String... command)
Método auxiliar para executar um comando do sistema e abortar se demorar mais do que um tempo especificado.
Parâmetros | |
---|---|
timeout | long : tempo máximo de espera em ms. 0 significa que não há tempo limite. |
command | String : o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
CommandResult | um CommandResult contendo o resultado da execução do comando |
runTimedCmdRetry
public CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
Método auxiliar para executar um comando do sistema e abortar se demorar mais do que um tempo especificado.
Parâmetros | |
---|---|
timeout | long : tempo máximo de espera em ms para cada tentativa |
retryInterval | long : tempo de espera entre novas tentativas de comando |
attempts | int : o número máximo de tentativas para tentar |
command | String : o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
CommandResult | um CommandResult contendo o resultado da execução do comando |
runTimedCmdSilently
public CommandResult runTimedCmdSilently (long timeout, String... command)
Método auxiliar para executar um comando do sistema e abortar se demorar mais do que um tempo especificado. Semelhante a runTimedCmd(long, String)
, mas não registra nenhum erro na exceção.
Parâmetros | |
---|---|
timeout | long : tempo máximo de espera em ms |
command | String : o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
CommandResult | um CommandResult contendo o resultado da execução do comando |
runTimedCmdSilentlyRetry
public CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
Método auxiliar para executar um comando do sistema e abortar se demorar mais do que um tempo especificado. Semelhante a runTimedCmdRetry(long, long, int, String[])
, mas não registra nenhum erro na exceção.
Parâmetros | |
---|---|
timeout | long : tempo máximo de espera em ms |
retryInterval | long : tempo de espera entre novas tentativas de comando |
attempts | int : o número máximo de tentativas para tentar |
command | String : o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
CommandResult | um CommandResult contendo o resultado da execução do comando |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command)
Método auxiliar para executar um comando do sistema, abortar se demorar mais do que o tempo especificado e redirecionar a saída para arquivos, se especificado.
Parâmetros | |
---|---|
timeout | long : timeout tempo máximo de espera em ms. 0 significa que não há tempo limite. |
input | String : a entrada stdin para passar para o processo |
stdoutFile | File : ERROR(/File) onde a saída padrão será redirecionada. Pode ser nulo. |
stderrFile | File : ERROR(/File) para onde a saída do erro será redirecionada. Pode ser nulo. |
command | String : o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
CommandResult | um CommandResult contendo o resultado da execução do comando |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Método auxiliar para executar um comando do sistema que requer entrada stdin e abortar se demorar mais do que um tempo especificado.
Parâmetros | |
---|---|
timeout | long : tempo máximo de espera em ms |
input | String : a entrada stdin para passar para o processo |
command | String : o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
CommandResult | um CommandResult contendo o resultado da execução do comando |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Método auxiliar para executar um comando do sistema que requer entrada stdin e abortar se demorar mais do que um tempo especificado.
Parâmetros | |
---|---|
timeout | long : tempo máximo de espera em ms |
input | String : a entrada stdin para passar para o processo |
command | ERROR(/List) contendo o comando do sistema e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
CommandResult | um CommandResult contendo o resultado da execução do comando |
runTimedCmdWithInputRedirect
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Método auxiliar para executar um comando do sistema que requer o redirecionamento de Stdin de um arquivo e a interrupção se demorar mais do que o tempo especificado.
Parâmetros | |
---|---|
timeout | long : tempo máximo de espera em ms |
inputRedirect | File : o ERROR(/File) para redirecionar como entrada padrão usando ProcessBuilder.redirectInput() . Se nulo, stdin não será redirecionado. |
command | String : o comando do sistema especificado e, opcionalmente, argumentos para exec |
devoluções | |
---|---|
CommandResult | um CommandResult contendo o resultado da execução do comando |
runTimedRetry
public boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Bloqueia e executa uma operação várias vezes até que seja bem-sucedida.
Parâmetros | |
---|---|
opTimeout | long : tempo máximo de espera em ms para uma tentativa de operação |
pollInterval | long : tempo de espera entre novas tentativas de comando |
attempts | int : o número máximo de tentativas para tentar |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para executar |
devoluções | |
---|---|
boolean | true se a operação foi concluída com êxito antes das tentativas. |
setEnvVariable
public void setEnvVariable (String name, String value)
Define uma variável de ambiente a ser usada ao executar comandos do sistema.
Parâmetros | |
---|---|
name | String : o nome da variável |
value | String : o valor da variável |
setEnvVariablePriority
public void setEnvVariablePriority (IRunUtil.EnvPriority priority)
Decida se, ao criar um processo, desarmar variáveis de ambiente é uma prioridade maior do que configurá-las. Por padrão, a desativação é de maior prioridade: ou seja, se for feita uma tentativa de definir uma variável com o mesmo nome, isso não acontecerá, pois a variável será desativada. Não pode ser usado na instância IRunUtil
padrão.
Parâmetros | |
---|---|
priority | IRunUtil.EnvPriority |
definirInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Definido como interrompível após algum tempo de espera. ERROR(/CommandScheduler#shutdownHard())
para impor que encerramos eventualmente.
Parâmetros | |
---|---|
thread | Thread : o thread que se tornará interrompível. |
timeMs | long : tempo de espera antes de definir a interrupção. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Permite usar a interrupção 'kill' do linux no processo em execução através dos métodos #runTimed quando atinge um tempo limite. Não pode ser usado na instância IRunUtil
padrão.
Parâmetros | |
---|---|
interrupt | boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Defina o fluxo de erro padrão para redirecionar para o fluxo de saída padrão ao executar comandos do sistema. O valor inicial é falso.
Parâmetros | |
---|---|
redirect | boolean : novo valor para redirecionar ou não |
setWorkingDir
public void setWorkingDir (File dir)
Define o diretório de trabalho para comandos do sistema.
Parâmetros | |
---|---|
dir | File : o diretório de trabalho |
dormir
public void sleep (long time)
Método auxiliar para dormir por um determinado tempo, ignorando quaisquer exceções.
Parâmetros | |
---|---|
time | long : ms para dormir. valores menores ou iguais a 0 serão ignorados |
unsetEnvVariable
public void unsetEnvVariable (String key)
Desativa uma variável de ambiente, portanto, os comandos do sistema são executados sem essa variável de ambiente. As variáveis de ambiente podem herdar do processo pai, portanto, precisamos excluir a variável de ambiente de ProcessBuilder.environment()
Parâmetros | |
---|---|
key | String : o nome da variável |
Veja também: