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. |
ProcessBuilder
|
createProcessBuilder(Redirect redirect,
|
static
IRunUtil
|
getDefault()
Receba uma referência ao objeto |
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 |
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 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,
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 |
void
|
uploadCache(ICacheClient cacheClient, ExecutableActionResult actionResult)
Faz o upload da última |
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, 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. |