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(boolean inheritEnvVars)
|
Métodos públicos | |
---|---|
void
|
allowInterrupt(boolean allow)
Permite/proíbe interrupções de execução na linha de execução atual. |
static
IRunUtil
|
getDefault()
Receba uma referência ao objeto |
void
|
interrupt(Thread thread, String message, ErrorIdentifier errorId)
Interrompe as operações de execução em andamento/futuras na linha de execução especificada. |
void
|
interrupt(Thread thread, String message)
Interrompe as operações de execução em andamento/futuras na linha de execução especificada. |
boolean
|
isInterruptAllowed()
Informe o status de interrupção do RunUtil. |
static
void
|
linkFile(File destRoot, String relToRoot, File target)
Vincula |
Process
|
runCmdInBackground(Redirect redirect,
Um método |
Process
|
runCmdInBackground(
Um método |
Process
|
runCmdInBackground(
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. |
boolean
|
runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, 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, cancelando se 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, cancelar se demorar mais do que um 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 o especificado tempo de resposta. |
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 o especificado tempo de resposta. |
CommandResult
|
runTimedCmdRetryWithOutputMonitor(long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)
Método auxiliar para executar um comando do sistema e abortar se demorar mais do que o especificado tempo de resposta. |
CommandResult
|
runTimedCmdSilently(long timeout, String... command)
Método auxiliar para executar um comando do sistema e abortar se demorar mais do que o especificado tempo de resposta. |
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 o especificado tempo de resposta. |
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. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input, String... command)
Método auxiliar para executar um comando do sistema que requer entrada stdin e abortado caso demora mais do que o especificado. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input,
Método auxiliar para executar um comando do sistema que requer entrada stdin e abortado caso demora mais do que o especificado. |
CommandResult
|
runTimedCmdWithInputRedirect(long timeout, File inputRedirect, String... command)
Método auxiliar para executar um comando do sistema que exija o redirecionamento do Stdin de um arquivo e abortando se 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 demorar mais do que o especificado tempo de resposta. |
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 seja bem-sucedida. |
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. |
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)
Decidir se, ao criar um processo, desconfigurar a variável de ambiente é maior prioridade do que defini-las. |
void
|
setInterruptibleInFuture(Thread thread, long timeMs)
Definir como interruptível após algum tempo de espera. |
void
|
setLinuxInterruptProcess(boolean interrupt)
Permitir o uso de "kill" do Linux interrupção do processo em execução por meio de #runTimed métodos quando atingir um tempo limite. |
void
|
setRedirectStderrToStdout(boolean redirect)
Define o stream de erro padrão para redirecionar para o stream de saída padrão ao executar o sistema comandos |
void
|
setWorkingDir(File dir)
Define o diretório de trabalho para comandos do sistema. |
void
|
sleep(long time)
Método auxiliar para suspender por determinado tempo, ignorando quaisquer exceções. |
static
String
|
toRelative(File start, String target)
|
void
|
unsetEnvVariable(String key)
Desativa uma variável de ambiente. Portanto, os comandos do sistema são executados sem essa variável.
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
NOME_DO_NOTIFIER_EXECUTÁVEL
public static final String RUNNABLE_NOTIFIER_NAME
Construtores públicos
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, execute operações do
a linha de execução atual pode ser interrompida por outras linhas com o método interrupt(Thread, String)
.
Parâmetros | |
---|---|
allow |
boolean : se você quer permitir interrupções de execução na linha de execução atual. |
getDefault
public static IRunUtil getDefault ()
Receba uma referência ao objeto RunUtil
padrão.
Isso é útil para autores de chamadas que querem usar o IRunUtil sem personalização.
Recomenda-se que os autores da chamada que precisam de uma instância personalizada do IRunUtil
Ou seja, é necessário chamar setEnvVariable(String, String)
ou
setWorkingDir(File)
criar a própria cópia.
Retorna | |
---|---|
IRunUtil |
interromper
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Interrompe as operações de execução em andamento/futuras na linha de execução especificada. As operações de execução
a linha de execução especificada gera 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 em andamento/futuras na linha de execução especificada. As operações de execução
a linha de execução especificada gera RunInterruptedException
.
Parâmetros | |
---|---|
message |
String : a mensagem para RunInterruptedException . |
isInterruptAllowed
public boolean isInterruptAllowed ()
Informe o status de interrupção do RunUtil.
Retorna | |
---|---|
boolean |
verdadeiro se a execução puder ser interrompida, falso caso contrário. |
Arquivo do link
public static void 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
, o arquivo
não serão vinculados.
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. |
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 do comando.
no formato ERROR(/List)
.
Parâmetros | |
---|---|
redirect |
Redirect : o ERROR(/Redirect) que será aplicado ao ProcessBuilder . |
command |
: o ERROR(/List) que contém o comando do sistema especificado e, opcionalmente, argumentos
para executar |
Retorna | |
---|---|
Process |
o Process do comando executado; |
runCmdInBackground
public Process runCmdInBackground (command)
Um método runCmdInBackground(String)
alternativo que aceita os argumentos do comando.
no formato ERROR(/List)
.
Parâmetros | |
---|---|
command |
: o ERROR(/List) que contém o comando do sistema especificado e, opcionalmente, argumentos
para executar |
Retorna | |
---|---|
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 dele.
Stdout e stderr são mesclados.
Parâmetros | |
---|---|
command |
: o comando a ser executado. |
output |
OutputStream : o OutputStream para salvar a saída. |
Retorna | |
---|---|
Process |
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 iniciar o comando.
Parâmetros | |
---|---|
command |
String : o comando do sistema especificado e, opcionalmente, argumentos a serem executados. |
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.
Retornará imediatamente após iniciar o comando.
Parâmetros | |
---|---|
redirect |
Redirect : o ERROR(/Redirect) que será aplicado ao ProcessBuilder . |
command |
String : o comando do sistema especificado e, opcionalmente, argumentos a serem executados. |
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 seja bem-sucedida.
Aumente exponencialmente o tempo de espera entre as tentativas de operação. Isso deve ser usado ao executar uma operação como a sondagem de um servidor, para dar tempo de recuperação caso ele está temporariamente indisponível.
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 a ser executado |
Retorna | |
---|---|
boolean |
true se a operação tiver sido concluída antes da expiração 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 a ser executado |
Retorna | |
---|---|
boolean |
true se a operação tiver sido concluída antes da expiração 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 seja bem-sucedida. Também monitora o streams de saída para a atividade, sendo cancelados se nenhuma atividade de stream for observada por um período especificado. Se o delayOutputTimeout 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 tiver sido concluída antes da expiração do maxTime |
Tempo de execução
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 a ser executado |
logErrors |
boolean : registra erros de 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, 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 forma,
elas serão deixadas abertas no final da função.
Parâmetros | |
---|---|
timeout |
long : tempo limite máximo de espera em ms. O valor 0 significa que não há tempo limite. |
stdout |
OutputStream : ERROR(/OutputStream) para onde a saída std será redirecionada. Pode ser nulo. |
stderr |
OutputStream : ERROR(/OutputStream) para onde a saída do erro será redirecionada. Pode ser nulo. |
command |
String : o comando do sistema especificado e, opcionalmente, argumentos a serem executados. |
Retorna | |
---|---|
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 o especificado tempo de resposta.
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 a serem executados. |
Retorna | |
---|---|
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 o especificado tempo de resposta.
Parâmetros | |
---|---|
timeout |
long : tempo máximo de espera em ms para cada tentativa. |
retryInterval |
long : tempo de espera entre as novas tentativas do comando. |
attempts |
int : o número máximo de tentativas |
command |
String : o comando do sistema especificado e, opcionalmente, argumentos a serem executados. |
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 demorar mais do que o especificado tempo de resposta. Também monitora os fluxos de saída em busca de atividades, cancelando se nenhuma atividade de stream for observados por um período específico. Se o delayOutputTimeout for definido como zero, nenhum monitoramento de stream vão ocorrer.
Parâmetros | |
---|---|
timeout |
long : tempo máximo de espera em ms para cada tentativa. |
idleOutputTimeout |
long : tempo máximo de espera em ms pela saída nos streams de saída. |
retryInterval |
long : tempo de espera entre as novas tentativas do comando. |
attempts |
int : o número máximo de tentativas |
command |
String : o comando do sistema especificado e, opcionalmente, argumentos a serem executados. |
Retorna | |
---|---|
CommandResult |
um CommandResult contendo o resultado da execução do comando |
runTimedCmdSilentamente
public CommandResult runTimedCmdSilently (long timeout, String... command)
Método auxiliar para executar um comando do sistema e abortar se demorar mais do que o especificado
tempo de resposta. Semelhante a runTimedCmd(long, String)
, mas não registra erros em
exceção.
Parâmetros | |
---|---|
timeout |
long : tempo máximo de espera em ms. |
command |
String : o comando do sistema especificado e, opcionalmente, argumentos a serem executados. |
Retorna | |
---|---|
CommandResult |
um CommandResult contendo 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 o especificado
tempo de resposta. Semelhante a runTimedCmdRetry(long, long, int, String[])
,
mas não registra erros na exceção.
Parâmetros | |
---|---|
timeout |
long : tempo máximo de espera em ms. |
retryInterval |
long : tempo de espera entre as novas tentativas do comando. |
attempts |
int : o número máximo de tentativas |
command |
String : o comando do sistema especificado e, opcionalmente, argumentos a serem executados. |
Retorna | |
---|---|
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, cancelar se demorar mais do que um tempo especificado, e redirecionar a saída para arquivos, se especificado.
Parâmetros | |
---|---|
timeout |
long : tempo limite máximo de espera em ms. O valor 0 significa que não há tempo limite. |
input |
String : a entrada stdin a ser transmitida para o processo. |
stdoutFile |
File : ERROR(/File) para onde a saída std 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 a serem executados. |
Retorna | |
---|---|
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 abortado caso demora mais 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 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 abortado caso demora mais 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 a serem executados |
Retorna | |
---|---|
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 exija o redirecionamento do Stdin de um arquivo e abortando se demorar mais do que um tempo especificado.
Parâmetros | |
---|---|
timeout |
long : tempo máximo de espera em ms. |
inputRedirect |
File : o ERROR(/File) a ser redirecionado 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 contendo 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 forma,
elas serão deixadas abertas no final da função.
Parâmetros | |
---|---|
timeout |
long : tempo limite 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 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) para onde a saída do erro será redirecionada. Pode ser nulo. |
command |
String : o comando do sistema especificado e, opcionalmente, argumentos a serem executados. |
Retorna | |
---|---|
CommandResult |
um CommandResult contendo 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 demorar mais do que o especificado tempo de resposta. Também monitora os fluxos de saída em busca de atividades, cancelando se nenhuma atividade de stream for observados por um período específico. Se o delayOutputTimeout for definido como zero, nenhum monitoramento de stream vão 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 pela saída nos streams de saída. |
command |
String : o comando do sistema especificado e, opcionalmente, argumentos a serem executados. |
Retorna | |
---|---|
CommandResult |
um CommandResult contendo 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 for
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á carregado para armazenamento em cache.
Parâmetros | |
---|---|
timeout |
long : tempo limite 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 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) 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 a serem executados. |
Retorna | |
---|---|
CommandResult |
um CommandResult contendo o resultado da execução do comando. |
runTimedTentar novamente
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 por uma tentativa de operação |
pollInterval |
long : tempo de espera entre as novas tentativas do 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 com êxito antes das tentativas atingidas. |
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 seja bem-sucedida. Também monitora o streams de saída para a atividade, sendo cancelados se nenhuma atividade de stream for observada por um período especificado. Se o delayOutputTimeout for definido como zero, nenhum monitoramento de stream vai ocorrer.
Parâmetros | |
---|---|
opTimeout |
long : tempo máximo de espera em ms por uma tentativa de operação |
idleOutputTimeout |
long : tempo máximo de espera em ms pela saída nos streams de saída. |
pollInterval |
long : tempo de espera entre as novas tentativas do 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 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. Além disso, monitora a atividade dos streams de saída, cancelando se nenhuma atividade de stream for observada por um em um determinado horário. Se o delayOutputTimeout 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 pela saída nos streams de saída. |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult a ser executado |
logErrors |
boolean : registra erros de 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 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)
Decidir se, ao criar um processo, desconfigurar a variável de ambiente é maior
prioridade do que defini-las.
Por padrão, a desativação tem maior prioridade, ou seja, se uma tentativa de definir uma variável com o
for criado, isso não acontecerá porque a variável não será definida.
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 interruptível após algum tempo de espera.
ERROR(/CommandScheduler#shutdownHard())
para aplicar, encerramos em algum momento.
Parâmetros | |
---|---|
thread |
Thread : a linha de execução que poderá ser interrompida. |
timeMs |
long : tempo de espera antes de configurar que pode ser interrompido. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Permitir o uso de "kill" do Linux interrupção do processo em execução por meio de #runTimed métodos quando
atingir 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 stream de erro padrão para redirecionar para o stream de saída padrão ao executar o sistema comandos 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 entrar em suspensão. valores menores ou iguais a 0 serão ignorados |
toRelativo
public static String toRelative (File start, String target)
Parâmetros | |
---|---|
start |
File |
target |
String |
Retorna | |
---|---|
String |
missingEnvVariable
public void unsetEnvVariable (String key)
Desativa uma variável de ambiente. Portanto, os comandos do sistema são executados sem essa variável.
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: