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 RunUtil para usar.

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 RunUtil padrão.

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 runCmdInBackground(String) alternativo que aceita os argumentos de comando no formato ERROR(/List) .

Process runCmdInBackground ( command) runCmdInBackground ( command)

Um método runCmdInBackground(String) alternativo que aceita os argumentos de comando no formato ERROR(/List) .

Process runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output)

A execução do comando com um ERROR(/OutputStream) registra a saída do comando.

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 ProcessBuilder.environment()

Campos

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Construtores públicos

RunUtil

public RunUtil ()

Crie um novo objeto RunUtil para usar.

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.

Isso é útil para chamadores que desejam usar IRunUtil sem personalização. É recomendado que os chamadores que precisam de uma instância IRunUtil personalizada (ou seja, precisam chamar 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 : o 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 : o 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 : o comando para executar

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