IRunUtil

public interface IRunUtil

com.android.tradefed.util.IRunUtil


Interfaz para ejecutar operaciones temporizadas y comandos del sistema.

Resumen

Clases anidadas

interface IRunUtil.IRunnableResult

Una interfaz para ejecutar de forma asíncrona una operación que devuelve un estado booleano.

Métodos públicos

abstract void allowInterrupt (boolean allow)

Permite/no permite ejecutar interrupciones en el subproceso actual.

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

Interrumpe las operaciones de ejecución en curso/próximas en el subproceso dado.

abstract void interrupt (Thread thread, String message)

Interrumpe las operaciones de ejecución en curso/próximas en el subproceso dado.

abstract boolean isInterruptAllowed ()

Proporcione el estado de interrupción de RunUtil.

abstract Process runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command)

Un método alternativo runCmdInBackground(String) que acepta los argumentos del comando en formato ERROR(/List) .

abstract Process runCmdInBackground ( command) runCmdInBackground ( command)

Un método alternativo runCmdInBackground(String) que acepta los argumentos del comando en formato ERROR(/List) .

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

Ejecutar el comando con un ERROR(/OutputStream) registra la salida del comando.

abstract Process runCmdInBackground (String... command)

Método auxiliar para ejecutar un comando del sistema de forma asíncrona.

abstract Process runCmdInBackground (Redirect redirect, String... command)

Método auxiliar para ejecutar un comando del sistema de forma asíncrona.

abstract boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Bloquea y ejecuta una operación varias veces hasta que tiene éxito.

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

Bloquea y ejecuta una operación varias veces hasta que tiene éxito.

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

Bloquea y ejecuta una operación, abortando si tarda más de un tiempo especificado.

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

Método auxiliar para ejecutar un comando del sistema, abortar si lleva más tiempo que el especificado y redirigir la salida a los archivos si se especifica.

abstract CommandResult runTimedCmd (long timeout, String... command)

Método auxiliar para ejecutar un comando del sistema y abortar si lleva más tiempo que el especificado.

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

Método auxiliar para ejecutar un comando del sistema y abortar si lleva más tiempo que el especificado.

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

Método auxiliar para ejecutar un comando del sistema y abortar si lleva más tiempo que el especificado.

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

Método auxiliar para ejecutar un comando del sistema y abortar si lleva más tiempo que el especificado.

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

Método auxiliar para ejecutar un comando del sistema, abortar si lleva más tiempo que el especificado y redirigir la salida a los archivos si se especifica.

abstract CommandResult runTimedCmdWithInput (long timeout, String input, String... command)

Método auxiliar para ejecutar un comando del sistema que requiere entrada de entrada estándar y anular si lleva más tiempo que el especificado.

abstract CommandResult runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command)

Método auxiliar para ejecutar un comando del sistema que requiere entrada de entrada estándar y anular si lleva más tiempo que el especificado.

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

Método auxiliar para ejecutar un comando del sistema que requiere la redirección de Stdin desde un archivo y la cancelación si lleva más tiempo que el especificado.

abstract boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)

Bloquea y ejecuta una operación varias veces hasta que tiene éxito.

abstract void setEnvVariable (String key, String value)

Establece una variable de entorno que se utilizará al ejecutar comandos del sistema.

abstract void setEnvVariablePriority ( IRunUtil.EnvPriority priority)

Decida si, al crear un proceso, desactivar la variable de entorno es más prioritario que configurarla.

abstract void setInterruptibleInFuture (Thread thread, long timeMs)

Establecer como interrumpible después de un tiempo de espera.

abstract void setLinuxInterruptProcess (boolean interrupt)

Permitir el uso de la interrupción 'kill' de Linux en el proceso que se ejecuta a través de los métodos #runTimed cuando alcanza un tiempo de espera.

abstract void setRedirectStderrToStdout (boolean redirect)

Configure el flujo de error estándar para redirigir al flujo de salida estándar al ejecutar comandos del sistema.

abstract void setWorkingDir (File dir)

Establece el directorio de trabajo para los comandos del sistema.

abstract void sleep (long time)

Método auxiliar para dormir durante un tiempo determinado, ignorando cualquier excepción.

abstract void unsetEnvVariable (String key)

Desarma una variable de entorno, por lo que los comandos del sistema se ejecutan sin esta variable de entorno.

Métodos públicos

permitir la interrupción

public abstract void allowInterrupt (boolean allow)

Permite/no permite ejecutar interrupciones en el subproceso actual. Si está permitido, las operaciones de ejecución del subproceso actual se pueden interrumpir desde otros subprocesos a través del método interrupt(Thread, String) .

Parámetros
allow boolean : si permitir interrupciones de ejecución en el subproceso actual.

interrumpir

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

Interrumpe las operaciones de ejecución en curso/próximas en el subproceso dado. Las operaciones de ejecución en el subproceso dado generarán RunInterruptedException .

Parámetros
message String : el mensaje para RunInterruptedException .

errorId ErrorIdentifier : representa la causa de la interrupción cuando se conoce.

interrumpir

public abstract void interrupt (Thread thread, 
                String message)

Interrumpe las operaciones de ejecución en curso/próximas en el subproceso dado. Las operaciones de ejecución en el subproceso dado generarán RunInterruptedException .

Parámetros
message String : el mensaje para RunInterruptedException .

está permitida la interrupción

public abstract boolean isInterruptAllowed ()

Proporcione el estado de interrupción de RunUtil.

Devoluciones
boolean true si la ejecución puede interrumpirse, false en caso contrario.

ejecutarCmdInBackground

public abstract Process runCmdInBackground (Redirect redirect, 
                 command)

Un método alternativo runCmdInBackground(String) que acepta los argumentos del comando en formato ERROR(/List) .

Parámetros
redirect Redirect : el ERROR(/Redirect) para aplicar a ProcessBuilder .

command : el ERROR(/List) que contiene el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
Process el Process del comando ejecutado

Lanza
si el comando no se pudo ejecutar

ejecutarCmdInBackground

public abstract Process runCmdInBackground ( command)

Un método alternativo runCmdInBackground(String) que acepta los argumentos del comando en formato ERROR(/List) .

Parámetros
command : el ERROR(/List) que contiene el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
Process el Process del comando ejecutado

Lanza
si el comando no se pudo ejecutar

ejecutarCmdInBackground

public abstract Process runCmdInBackground ( command, 
                OutputStream output)

Ejecutar el comando con un ERROR(/OutputStream) registra la salida del comando. Stdout y stderr se fusionan.

Parámetros
command : el comando para ejecutar

output OutputStream : el OutputStream para guardar la salida

Devoluciones
Process el Process que ejecuta el comando

Lanza
IOException

ejecutarCmdInBackground

public abstract Process runCmdInBackground (String... command)

Método auxiliar para ejecutar un comando del sistema de forma asíncrona.

Regresará inmediatamente después de lanzar el comando.

Parámetros
command String : el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
Process el Process del comando ejecutado

Lanza
si el comando no se pudo ejecutar

ejecutarCmdInBackground

public abstract Process runCmdInBackground (Redirect redirect, 
                String... command)

Método auxiliar para ejecutar un comando del sistema de forma asíncrona.

Regresará inmediatamente después de lanzar el comando.

Parámetros
redirect Redirect : el ERROR(/Redirect) para aplicar a ProcessBuilder .

command String : el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
Process el Process del comando ejecutado

Lanza
si el comando no se pudo ejecutar

runEscalatingTimedRetry

public abstract boolean runEscalatingTimedRetry (long opTimeout, 
                long initialPollInterval, 
                long maxPollInterval, 
                long maxTime, 
                IRunUtil.IRunnableResult runnable)

Bloquea y ejecuta una operación varias veces hasta que tiene éxito.

Aumente exponencialmente el tiempo de espera entre intentos de operación. Esto está diseñado para usarse cuando se realiza una operación como sondear un servidor, para darle tiempo de recuperarse en caso de que esté temporalmente inactivo.

Parámetros
opTimeout long : tiempo máximo de espera en ms para un solo intento de operación

initialPollInterval long : tiempo inicial de espera entre intentos de operación

maxPollInterval long : el tiempo máximo de espera entre intentos de operación

maxTime long : el tiempo máximo total aproximado para seguir intentando la operación

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para ejecutar

Devoluciones
boolean true si la operación se completó con éxito antes de que caducara maxTime

ejecutarFixedTimedRetry

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

Bloquea y ejecuta una operación varias veces hasta que tiene éxito.

Parámetros
opTimeout long : tiempo máximo de espera en ms para un solo intento de operación

pollInterval long : tiempo inicial de espera entre intentos de operación

maxTime long : el tiempo máximo total aproximado para seguir intentando la operación

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para ejecutar

Devoluciones
boolean true si la operación se completó con éxito antes de que caducara maxTime

runTimed

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

Bloquea y ejecuta una operación, abortando si tarda más de un tiempo especificado.

Parámetros
timeout long : tiempo máximo de espera en ms

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para ejecutar

logErrors boolean : errores de registro en caso de excepción o no.

Devoluciones
CommandStatus el resultado CommandStatus de la operación.

ejecutarTimedCmd

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

Método auxiliar para ejecutar un comando del sistema, abortar si lleva más tiempo que el especificado y redirigir la salida a los archivos si se especifica. Cuando se proporcionan ERROR(/OutputStream) de esta manera, se dejarán abiertos al final de la función.

Parámetros
timeout long : timeout tiempo máximo de espera en ms. 0 significa que no hay tiempo de espera.

stdout OutputStream : ERROR(/OutputStream) donde se redirigirá la salida estándar. Puede ser nulo.

stderr OutputStream : ERROR(/OutputStream) donde se redirigirá la salida de error. Puede ser nulo.

command String : el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
CommandResult un CommandResult que contiene el resultado de la ejecución del comando

ejecutarTimedCmd

public abstract CommandResult runTimedCmd (long timeout, 
                String... command)

Método auxiliar para ejecutar un comando del sistema y abortar si lleva más tiempo que el especificado.

Parámetros
timeout long : tiempo máximo de espera en ms. 0 significa que no hay tiempo de espera.

command String : el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
CommandResult un CommandResult que contiene el resultado de la ejecución del comando

ejecutarTimedCmdReintentar

public abstract CommandResult runTimedCmdRetry (long timeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Método auxiliar para ejecutar un comando del sistema y abortar si lleva más tiempo que el especificado.

Parámetros
timeout long : tiempo máximo de espera en ms por cada intento

retryInterval long : tiempo de espera entre reintentos de comando

attempts int : el número máximo de intentos para probar

command String : el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
CommandResult un CommandResult que contiene el resultado de la ejecución del comando

runTimedCmdSilently

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

Método auxiliar para ejecutar un comando del sistema y abortar si lleva más tiempo que el especificado. Similar a runTimedCmd(long, String) , pero no registra ningún error por excepción.

Parámetros
timeout long : tiempo máximo de espera en ms

command String : el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
CommandResult un CommandResult que contiene el resultado de la ejecución del comando

runTimedCmdSilentlyRetry

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

Método auxiliar para ejecutar un comando del sistema y abortar si lleva más tiempo que el especificado. Similar a runTimedCmdRetry(long, long, int, String[]) , pero no registra ningún error por excepción.

Parámetros
timeout long : tiempo máximo de espera en ms

retryInterval long : tiempo de espera entre reintentos de comando

attempts int : el número máximo de intentos para probar

command String : el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
CommandResult un CommandResult que contiene el resultado de la ejecución del comando

runTimedCmdWithInput

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

Método auxiliar para ejecutar un comando del sistema, abortar si lleva más tiempo que el especificado y redirigir la salida a los archivos si se especifica.

Parámetros
timeout long : timeout tiempo máximo de espera en ms. 0 significa que no hay tiempo de espera.

input String : la entrada estándar para pasar al proceso

stdoutFile File : ERROR(/File) donde se redirigirá la salida estándar. Puede ser nulo.

stderrFile File : ERROR(/File) donde se redirigirá la salida de error. Puede ser nulo.

command String : el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
CommandResult un CommandResult que contiene el resultado de la ejecución del comando

runTimedCmdWithInput

public abstract CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                String... command)

Método auxiliar para ejecutar un comando del sistema que requiere entrada de entrada estándar y anular si lleva más tiempo que el especificado.

Parámetros
timeout long : tiempo máximo de espera en ms

input String : la entrada estándar para pasar al proceso

command String : el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
CommandResult un CommandResult que contiene el resultado de la ejecución del comando

runTimedCmdWithInput

public abstract CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                 command)

Método auxiliar para ejecutar un comando del sistema que requiere entrada de entrada estándar y anular si lleva más tiempo que el especificado.

Parámetros
timeout long : tiempo máximo de espera en ms

input String : la entrada estándar para pasar al proceso

command : ERROR(/List) que contiene el comando del sistema y, opcionalmente, argumentos para exec

Devoluciones
CommandResult un CommandResult que contiene el resultado de la ejecución del comando

runTimedCmdWithInputRedirect

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

Método auxiliar para ejecutar un comando del sistema que requiere la redirección de Stdin desde un archivo y la cancelación si lleva más tiempo que el especificado.

Parámetros
timeout long : tiempo máximo de espera en ms

inputRedirect File : el ERROR(/File) para redirigir como entrada estándar usando ProcessBuilder.redirectInput() . Si es nulo, la entrada estándar no se redirigirá.

command String : el comando del sistema especificado y, opcionalmente, argumentos para exec

Devoluciones
CommandResult un CommandResult que contiene el resultado de la ejecución del comando

runTimedRetry

public abstract boolean runTimedRetry (long opTimeout, 
                long pollInterval, 
                int attempts, 
                IRunUtil.IRunnableResult runnable)

Bloquea y ejecuta una operación varias veces hasta que tiene éxito.

Parámetros
opTimeout long : tiempo máximo de espera en ms para un intento de operación

pollInterval long : tiempo de espera entre reintentos de comando

attempts int : el número máximo de intentos para probar

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para ejecutar

Devoluciones
boolean true si la operación se completó correctamente antes de que se alcanzaran los intentos.

establecerEnvVariable

public abstract void setEnvVariable (String key, 
                String value)

Establece una variable de entorno que se utilizará al ejecutar comandos del sistema.

Parámetros
key String : el nombre de la variable

value String : el valor de la variable

establecerEnvVariablePriority

public abstract void setEnvVariablePriority (IRunUtil.EnvPriority priority)

Decida si, al crear un proceso, desactivar la variable de entorno es más prioritario que configurarla. De forma predeterminada, el desarmado tiene mayor prioridad: lo que significa que si se intenta establecer una variable con el mismo nombre, no sucederá ya que la variable se desarmará. No se puede usar en la instancia predeterminada IRunUtil .

Parámetros
priority IRunUtil.EnvPriority

establecerInterruptibleInFuture

public abstract void setInterruptibleInFuture (Thread thread, 
                long timeMs)

Establecer como interrumpible después de un tiempo de espera. ERROR(/CommandScheduler#shutdownHard()) para hacer cumplir que terminamos eventualmente.

Parámetros
thread Thread : el hilo que se volverá interrumpible.

timeMs long : tiempo de espera antes de establecer interrumpible.

setLinuxInterruptProcess

public abstract void setLinuxInterruptProcess (boolean interrupt)

Permitir el uso de la interrupción 'kill' de Linux en el proceso que se ejecuta a través de los métodos #runTimed cuando alcanza un tiempo de espera. No se puede usar en la instancia predeterminada IRunUtil .

Parámetros
interrupt boolean

setRedirectStderrToStdout

public abstract void setRedirectStderrToStdout (boolean redirect)

Configure el flujo de error estándar para redirigir al flujo de salida estándar al ejecutar comandos del sistema. El valor inicial es falso.

Parámetros
redirect boolean : nuevo valor para si redirigir o no

establecerDirDeTrabajo

public abstract void setWorkingDir (File dir)

Establece el directorio de trabajo para los comandos del sistema.

Parámetros
dir File : el directorio de trabajo

dormir

public abstract void sleep (long time)

Método auxiliar para dormir durante un tiempo determinado, ignorando cualquier excepción.

Parámetros
time long : ms para dormir. los valores menores o iguales a 0 serán ignorados

unsetEnvVariable

public abstract void unsetEnvVariable (String key)

Desarma una variable de entorno, por lo que los comandos del sistema se ejecutan sin esta variable de entorno.

Parámetros
key String : el nombre de la variable