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.

RunUtil(boolean inheritEnvVars)

Métodos públicos

void allowInterrupt(boolean allow)

Permite/proíbe interrupções de execução na linha de execução atual.

ProcessBuilder createProcessBuilder(Redirect redirect, commandList, boolean enableCache)
static IRunUtil getDefault()

Receba uma referência ao objeto RunUtil padrão.

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

Interrompe as operações de execução atuais/futuras na linha de execução.

void interrupt(Thread thread, String message)

Interrompe as operações de execução atuais/futuras na linha de execução.

boolean isInterruptAllowed()

Informa o status de interrupção do RunUtil.

static File linkFile(File destRoot, String relToRoot, File target)

Vincula o target a um lugar em destRoot.

Process runCmdInBackground(Redirect redirect, command)

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

Process runCmdInBackground( command)

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

Process runCmdInBackground( command, OutputStream output)

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

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 ela seja concluída.

boolean runFixedTimedRetry(long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Bloqueia e executa uma operação várias vezes até que ela seja concluída.

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

Bloqueia e executa uma operação várias vezes até que ela seja concluída.

CommandStatus runTimed(long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

Bloqueia e executa uma operação, abortando se ela demorar mais do que um tempo especificado.

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

Método auxiliar para executar um comando do sistema, abortar se ele levar mais tempo do que o 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 ele levar mais tempo do que o especificado.

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

Método auxiliar para executar um comando do sistema e abortar se ele levar mais tempo do que o especificado.

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

Método auxiliar para executar um comando do sistema e abortar se ele levar mais tempo do que o especificado.

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

Método auxiliar para executar um comando do sistema e abortar se ele levar mais tempo do que o especificado.

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

Método auxiliar para executar um comando do sistema, abortar se ele levar mais tempo do que o 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 ele levar mais tempo do que o especificado.

CommandResult runTimedCmdWithInput(long timeout, String input, command)

Método auxiliar para executar um comando do sistema que requer entrada stdin e abortar se ele levar mais tempo do que o especificado.

CommandResult runTimedCmdWithInputRedirect(long timeout, File inputRedirect, String... command)

Método auxiliar para executar um comando do sistema que requer o redirecionamento do Stdin de um arquivo e o cancelamento se ele demorar mais do que um tempo especificado.

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

Método auxiliar para executar um comando do sistema, cancelar se demorar mais do que um tempo especificado e redirecionar a saída para arquivos, se especificado.

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, String... command)

Método auxiliar para executar um comando do sistema e abortar se ele levar mais tempo do que o especificado.

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

Método auxiliar para executar um comando do sistema com armazenamento em cache.

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.

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

Bloqueia e executa uma operação várias vezes até que ela seja concluída.

CommandStatus runTimedWithOutputMonitor(long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

Bloqueia e executa uma operação, abortando se ela demorar mais do que um tempo especificado.

void setEnvVariable(String name, String value)

Define uma variável de ambiente para ser usada ao executar comandos do sistema.

void setEnvVariablePriority(IRunUtil.EnvPriority priority)

Ao criar um processo, decida se a prioridade de redefinir a variável de ambiente é maior do que defini-la.

void setInterruptibleInFuture(Thread thread, long timeMs)

Definir como interruptível após algum tempo de espera.

void setLinuxInterruptProcess(boolean interrupt)

Permitir o uso da interrupção "kill" do Linux no processo em execução por meio de métodos #runTimed quando atingir o tempo limite.

void setRedirectStderrToStdout(boolean redirect)

Defina o fluxo de erros padrão para redirecionar para o stream 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 suspender por um determinado período, ignorando exceções.

static String toRelative(File start, File target)
static String toRelative(File start, String target)
void unsetEnvVariable(String key)

Cancela a configuração de uma variável de ambiente para que os comandos do sistema sejam executados sem essa variável. As variáveis de ambiente podem herdar do processo pai. Portanto, precisamos excluir a variável de ambiente de ProcessBuilder.environment().

void uploadCache(ICacheClient cacheClient, ExecutableActionResult actionResult)

Faz o upload da última ExecutableActionResult executada com um cacheClient.

Campos

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

NOME_DO_NOTIFIER_EXECUTÁVEL

public static final String RUNNABLE_NOTIFIER_NAME

Construtores públicos

RunUtil

public RunUtil ()

Crie um novo objeto RunUtil para usar.

RunUtil

public RunUtil (boolean inheritEnvVars)

Parâmetros
inheritEnvVars boolean

Métodos públicos

allowInterrupt

public void allowInterrupt (boolean allow)

Permite/proíbe interrupções de execução na linha de execução atual. Se permitido, as operações de execução da linha de execução atual podem ser interrompidas por outras linhas de execução usando o método interrupt(Thread, String).

Parâmetros
allow boolean: permite interrupções de execução na linha de execução atual.

createProcessBuilder

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

Parâmetros
redirect Redirect

commandList

enableCache boolean

Retorna
ProcessBuilder

getDefault

public static IRunUtil getDefault ()

Receba uma referência ao objeto RunUtil padrão.

Isso é útil para quem quer usar o IRunUtil sem personalização. É recomendável que os autores da chamada que precisam de uma instância personalizada do IRunUtil (ou seja, precisam chamar setEnvVariable(String, String) ou setWorkingDir(File)) criem a própria cópia.

Retorna
IRunUtil

interromper

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

Interrompe as operações de execução atuais/futuras na linha de execução. As operações de execução na linha de execução especificada vão gerar RunInterruptedException.

Parâmetros
message String: a mensagem para RunInterruptedException.

errorId ErrorIdentifier: representa a causa da interrupção quando conhecida.

interromper

public void interrupt (Thread thread, 
                String message)

Interrompe as operações de execução atuais/futuras na linha de execução. As operações de execução na linha de execução especificada vão gerar RunInterruptedException.

Parâmetros
message String: a mensagem para RunInterruptedException.

isInterruptAllowed

public boolean isInterruptAllowed ()

Informa o status de interrupção do RunUtil.

Retorna
boolean Verdadeiro se a execução pode ser interrompida. Caso contrário, é falso.

linkFile

public static File linkFile (File destRoot, 
                String relToRoot, 
                File target)

Vincula target a um lugar em destRoot.

Se o arquivo de destino ou o link simbólico já existir no destRoot, ele não será vinculado.

Parâmetros
destRoot File: a raiz do destino.

relToRoot String: o caminho relativo do diretório de destino para a raiz.

target File: o arquivo de destino a ser vinculado.

Retorna
File o link simbólico

Gera
se o arquivo de destino não for vinculado.

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) que contém o comando do sistema especificado e, opcionalmente, argumentos para execução

Retorna
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) que contém o comando do sistema especificado e, opcionalmente, argumentos a serem executados

Retorna
Process o Process do comando executado

runCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

Executar o comando com um ERROR(/OutputStream) registra a saída do comando. O stdout e o stderr são mesclados.

Parâmetros
command : o comando a ser executado

output OutputStream: o OutputStream para salvar a saída

Retorna
Process o Process que executa o comando

runCmdInBackground

public Process runCmdInBackground (String... command)

Método auxiliar para executar um comando do sistema de forma assíncrona.

Será retornado imediatamente após o comando de inicialização.

Parâmetros
command String: o comando do sistema especificado e, opcionalmente, argumentos para execução

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

Será retornado imediatamente após o comando de inicialização.

Parâmetros
redirect Redirect: o ERROR(/Redirect) que será aplicado ao ProcessBuilder.

command String: o comando do sistema especificado e, opcionalmente, argumentos para execução

Retorna
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 ela seja concluída.

Aumente exponencialmente o tempo de espera entre as tentativas de operação. O objetivo é usá-lo ao realizar uma operação, como a pesquisa de um servidor, para dar tempo para que ele se recupere caso esteja 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 aproximado total para continuar tentando a operação

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult para executar

Retorna
boolean true se a operação for concluída antes do vencimento do maxTime

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

Retorna
boolean true se a operação for concluída antes do vencimento do maxTime

runFixedTimedRetryWithOutputMonitor

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

Bloqueia e executa uma operação várias vezes até que ela seja concluída. Também monitora os fluxos de saída em busca de atividades, sendo cancelado se nenhuma atividade de stream for observada por um período especificado. Se o idleOutputTimeout for definido como zero, nenhum monitoramento de stream vai ocorrer.

Parâmetros
opTimeout long: tempo máximo de espera em ms para uma única tentativa de operação

idleOutputTimeout long: tempo máximo de espera em ms pela saída nos streams de saída.

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 a ser executado

Retorna
boolean true se a operação for concluída antes do vencimento do maxTime

runTimed

public CommandStatus runTimed (long timeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

Bloqueia e executa uma operação, cancelando se demorar mais do que um tempo especificado.

Parâmetros
timeout long: tempo máximo de espera em ms.

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult para executar

logErrors boolean: registra erros em uma exceção ou não.

Retorna
CommandStatus o resultado CommandStatus da operação.

runTimedCmd

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

Método auxiliar para executar um comando do sistema, abortar se ele levar mais tempo do que o especificado e redirecionar a saída para arquivos, se especificado. Quando ERROR(/OutputStream) são fornecidos dessa maneira, eles são deixados abertos no final da função.

Parâmetros
timeout long: tempo máximo de espera do timeout em ms. O valor 0 significa que não há timeout.

stdout OutputStream: ERROR(/OutputStream) em que a saída padrão será redirecionada. Pode ser nulo.

stderr OutputStream: ERROR(/OutputStream) em que a saída de erro será redirecionada. Pode ser nulo.

command String: o comando do sistema especificado e, opcionalmente, argumentos para execução

Retorna
CommandResult um CommandResult que contém 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 ele levar mais tempo do que o especificado.

Parâmetros
timeout long: tempo máximo de espera em ms. O valor 0 significa que não há tempo limite.

command String: o comando do sistema especificado e, opcionalmente, argumentos para execução

Retorna
CommandResult um CommandResult que contém 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 as novas tentativas de comando

attempts int: o número máximo de tentativas

command String: o comando do sistema especificado e, opcionalmente, argumentos para execução

Retorna
CommandResult um CommandResult contendo o resultado da execução do comando

runTimedCmdRetryWithOutputMonitor

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

Método auxiliar para executar um comando do sistema e abortar se ele levar mais tempo do que o especificado. Também monitora os streams de saída para atividade, abortando se nenhuma atividade de stream for observada por um tempo especificado. Se o idleOutputTimeout for definido como zero, nenhum monitoramento de stream vai ocorrer.

Parâmetros
timeout long: tempo máximo de espera em ms para cada tentativa

idleOutputTimeout long: tempo máximo de espera em ms para a saída nos fluxos de saída

retryInterval long: tempo de espera entre as novas tentativas de comando

attempts int: o número máximo de tentativas

command String: o comando do sistema especificado e, opcionalmente, argumentos para execução

Retorna
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 ele levar mais tempo do que o especificado. Semelhante a runTimedCmd(long, String), mas não registra erros 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 execução

Retorna
CommandResult um CommandResult que contém o resultado da execução do comando

runTimedCmdSilentlyRepetir

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 erros em exceções.

Parâmetros
timeout long: tempo máximo de espera em ms

retryInterval long: tempo de espera entre as novas tentativas de comando

attempts int: o número máximo de tentativas

command String: o comando do sistema especificado e, opcionalmente, argumentos para execução

Retorna
CommandResult um CommandResult que contém 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, cancelar se demorar mais do que um tempo especificado e redirecionar a saída para arquivos, se especificado.

Parâmetros
timeout long: tempo máximo de espera do timeout em ms. O valor 0 significa que não há timeout.

input String: a entrada stdin a ser transmitida para o processo

stdoutFile File: ERROR(/File) em que a saída padrão será redirecionada. Pode ser nulo.

stderrFile File: ERROR(/File) em que a saída de erro será redirecionada. Pode ser nulo.

command String: o comando do sistema especificado e, opcionalmente, argumentos para execução

Retorna
CommandResult um CommandResult que contém 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 ele levar mais tempo do que o especificado.

Parâmetros
timeout long: tempo máximo de espera em ms

input String: a entrada stdin a ser transmitida para o processo

command String: o comando do sistema especificado e, opcionalmente, argumentos a serem executados.

Retorna
CommandResult um CommandResult que contém 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 ele levar mais tempo do que o especificado.

Parâmetros
timeout long: tempo máximo de espera em ms

input String: a entrada stdin a ser transmitida para o processo.

command : ERROR(/List) contendo o comando do sistema e, opcionalmente, argumentos para execução

Retorna
CommandResult um CommandResult que contém 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 o encerramento se ele levar mais tempo do que o 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 for nulo, o stdin não será redirecionado.

command String: o comando do sistema especificado e, opcionalmente, argumentos a serem executados.

Retorna
CommandResult um CommandResult que contém o resultado da execução do comando

runTimedCmdWithOutputMonitor

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

Método auxiliar para executar um comando do sistema, cancelar se demorar mais do que um tempo especificado e redirecionar a saída para arquivos, se especificado. Quando ERROR(/OutputStream) são fornecidos dessa maneira, eles são deixados abertos no final da função.

Parâmetros
timeout long: tempo máximo de espera do timeout em ms. O valor 0 significa que não há timeout.

idleOutputTimeout long: tempo máximo de espera em ms pela saída nos streams de saída.

stdout OutputStream: ERROR(/OutputStream) para onde a saída std será redirecionada. Pode ser nulo.

stderr OutputStream: ERROR(/OutputStream) em que a saída de erro será redirecionada. Pode ser nulo.

command String: o comando do sistema especificado e, opcionalmente, argumentos para execução

Retorna
CommandResult um CommandResult que contém o resultado da execução do comando

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                String... command)

Método auxiliar para executar um comando do sistema e abortar se ele levar mais tempo do que o especificado. Também monitora os streams de saída para atividade, abortando se nenhuma atividade de stream for observada por um tempo especificado. Se o missingOutputTimeout for definido como zero, nenhum monitoramento de stream vai ocorrer.

Parâmetros
timeout long: tempo máximo de espera em ms. O valor 0 significa que não há tempo limite.

idleOutputTimeout long: tempo máximo de espera em ms para a saída nos fluxos de saída

command String: o comando do sistema especificado e, opcionalmente, argumentos para execução

Retorna
CommandResult um CommandResult que contém o resultado da execução do comando

runTimedCmdWithOutputMonitor

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

Método auxiliar para executar um comando do sistema com armazenamento em cache.

Se cacheClient for especificado, o armazenamento em cache será ativado. Se o cache estiver disponível, o resultado armazenado em cache será retornado. Caso contrário, runTimedCmdWithOutputMonitor(long, long, OutputStream, OutputStream, String) será usado para executar o comando e o resultado será enviado para armazenamento em cache.

Parâmetros
timeout long: tempo máximo de espera do timeout em ms. O valor 0 significa que não há timeout.

idleOutputTimeout long: tempo máximo de espera em ms para a saída nos fluxos de saída.

stdout OutputStream: ERROR(/OutputStream) em que a saída padrão será redirecionada. Pode ser nulo.

stderr OutputStream: ERROR(/OutputStream) para onde a saída do erro será redirecionada. Pode ser nulo.

cacheClient ICacheClient: uma instância de ICacheClient usada para processar o armazenamento em cache.

command String: o comando do sistema especificado e, opcionalmente, argumentos para execução.

Retorna
CommandResult um CommandResult que contém 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 ela seja concluída.

Parâmetros
opTimeout long: tempo máximo de espera em ms para uma tentativa de operação

pollInterval long: tempo de espera entre as novas tentativas de comando

attempts int: o número máximo de tentativas

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult a ser executado

Retorna
boolean true se a operação for concluída antes de atingir as tentativas.

runTimedRetryWithOutputMonitor

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

Bloqueia e executa uma operação várias vezes até que ela seja concluída. Também monitora os streams de saída em busca de atividades, abortando se nenhuma atividade de stream for observada por um tempo especificado. Se o idleOutputTimeout for definido como zero, nenhum monitoramento de stream vai ocorrer.

Parâmetros
opTimeout long: tempo máximo de espera em ms para uma tentativa de operação

idleOutputTimeout long: tempo máximo de espera em ms para a saída nos fluxos de saída

pollInterval long: tempo de espera entre as novas tentativas de comando

attempts int: o número máximo de tentativas

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult a ser executado

Retorna
boolean true se a operação tiver sido concluída com êxito antes das tentativas atingidas.

runTimedWithOutputMonitor

public CommandStatus runTimedWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

Bloqueia e executa uma operação, cancelando se demorar mais do que um tempo especificado. Também monitora os streams de saída em busca de atividade, abortando se nenhuma atividade de stream for observada por um período especificado. Se o idleOutputTimeout for definido como zero, nenhum monitoramento de stream vai ocorrer.

Parâmetros
timeout long: tempo máximo de espera em ms

idleOutputTimeout long: tempo máximo de espera em ms para a saída nos fluxos de saída

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult para executar

logErrors boolean: registra erros em uma exceção ou não.

Retorna
CommandStatus o resultado CommandStatus da operação.

setEnvVariable

public void setEnvVariable (String name, 
                String value)

Define uma variável de ambiente para 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)

Ao criar um processo, decida se a prioridade de redefinir a variável de ambiente é maior do que defini-la. Por padrão, a prioridade de redefinição é mais alta: isso significa que, se uma tentativa de definir uma variável com o mesmo nome for feita, ela não vai acontecer, já que a variável será redefinida. Não pode ser usado na instância IRunUtil padrão.

Parâmetros
priority IRunUtil.EnvPriority

setInterruptibleInFuture

public void setInterruptibleInFuture (Thread thread, 
                long timeMs)

Definir como interrompível após algum tempo de espera. ERROR(/CommandScheduler#shutdownHard()) para aplicarmos o encerramento.

Parâmetros
thread Thread: a linha de execução que vai se tornar interrompível.

timeMs long: tempo de espera antes de definir o estado interrompível.

setLinuxInterruptProcess

public void setLinuxInterruptProcess (boolean interrupt)

Permite usar a interrupção "kill" do Linux no processo em execução pelos métodos #runTimed quando ele 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)

Define 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

sono

public void sleep (long time)

Método auxiliar para suspender por determinado tempo, ignorando quaisquer exceções.

Parâmetros
time long: ms para suspensão. Valores menores ou iguais a 0 serão ignorados.

toRelativo

public static String toRelative (File start, 
                File target)

Parâmetros
start File

target File

Retorna
String

toRelative

public static String toRelative (File start, 
                String target)

Parâmetros
start File

target String

Retorna
String

unsetEnvVariable

public void unsetEnvVariable (String key)

Desativa uma variável de ambiente. Portanto, os comandos do sistema são executados sem ela. 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.

Confira também:

uploadCache

public void uploadCache (ICacheClient cacheClient, 
                ExecutableActionResult actionResult)

Faz upload do último ExecutableActionResult executado com um cacheClient.

Parâmetros
cacheClient ICacheClient: o ICacheClient usado para fazer upload do resultado.

actionResult ExecutableActionResult: o ExecutableActionResult a ser enviado.