EjecutarUtil
public class RunUtil
extends Object
implements IRunUtil
java.lang.Objeto | |
↳ | com.android.tradefed.util.RunUtil |
Una colección de métodos auxiliares para ejecutar operaciones.
Resumen
Campos | |
---|---|
public static final String | INHERITIO_PREFIX |
public static final String | RUNNABLE_NOTIFIER_NAME
|
Constructores públicos | |
---|---|
RunUtil () Cree un nuevo objeto |
Métodos públicos | |
---|---|
void | allowInterrupt (boolean allow) Permite/no permite ejecutar interrupciones en el subproceso actual. |
static IRunUtil | getDefault () Obtenga una referencia al objeto |
void | interrupt (Thread thread, String message, ErrorIdentifier errorId) Interrumpe las operaciones de ejecución en curso/próximas en el subproceso dado. |
void | interrupt (Thread thread, String message) Interrumpe las operaciones de ejecución en curso/próximas en el subproceso dado. |
boolean | isInterruptAllowed () Proporcione el estado de interrupción de RunUtil. |
Process | runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command) Un método alternativo |
Process | runCmdInBackground ( command) runCmdInBackground ( command) Un método alternativo |
Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) Ejecutar el comando con un |
Process | runCmdInBackground (String... command) Método auxiliar para ejecutar un comando del sistema de forma asíncrona. |
Process | runCmdInBackground (Redirect redirect, String... command) Método auxiliar para ejecutar un comando del sistema de forma asíncrona. |
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. |
boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Bloquea y ejecuta una operación varias veces hasta que tiene éxito. |
CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) Bloquea y ejecuta una operación, abortando si tarda más de un tiempo especificado. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
boolean | runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable) Bloquea y ejecuta una operación varias veces hasta que tiene éxito. |
void | setEnvVariable (String name, String value) Establece una variable de entorno que se utilizará al ejecutar comandos del sistema. |
void | setEnvVariablePriority ( IRunUtil.EnvPriority priority) Decida si, al crear un proceso, desactivar la variable de entorno es más prioritario que configurarla. |
void | setInterruptibleInFuture (Thread thread, long timeMs) Establecer como interrumpible después de un tiempo de espera. |
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. |
void | setRedirectStderrToStdout (boolean redirect) Configure el flujo de error estándar para redirigir al flujo de salida estándar al ejecutar comandos del sistema. |
void | setWorkingDir (File dir) Establece el directorio de trabajo para los comandos del sistema. |
void | sleep (long time) Método auxiliar para dormir durante un tiempo determinado, ignorando cualquier excepción. |
void | unsetEnvVariable (String key) Desarma una variable de entorno, por lo que los comandos del sistema se ejecutan sin esta variable de entorno. Las variables de entorno pueden heredar del proceso principal, por lo que debemos eliminar la variable de entorno de |
Campos
HERENCIA_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NOMBRE
public static final String RUNNABLE_NOTIFIER_NAME
Constructores públicos
Métodos públicos
permitir la interrupción
public 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. |
getDefault
public static IRunUtil getDefault ()
Obtenga una referencia al objeto RunUtil
predeterminado.
setEnvVariable(String, String)
o setWorkingDir(File)
para crear su propia copia.Devoluciones | |
---|---|
IRunUtil |
interrumpir
public 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 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 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 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 al ERROR(/ProcessBuilder) . |
command | ERROR(/List) que contiene el comando del sistema especificado y, opcionalmente, argumentos para exec |
Devoluciones | |
---|---|
Process | el ERROR(/Process) del comando ejecutado |
ejecutarCmdInBackground
public Process runCmdInBackground (command)
Un método alternativo runCmdInBackground(String)
que acepta los argumentos del comando en formato ERROR(/List)
.
Parámetros | |
---|---|
command | ERROR(/List) que contiene el comando del sistema especificado y, opcionalmente, argumentos para exec |
Devoluciones | |
---|---|
Process | el ERROR(/Process) del comando ejecutado |
ejecutarCmdInBackground
public 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 | |
output | OutputStream : el OutputStream para guardar la salida |
Devoluciones | |
---|---|
Process | el ERROR(/Process) ejecutando el comando |
ejecutarCmdInBackground
public 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 ERROR(/Process) del comando ejecutado |
ejecutarCmdInBackground
public 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 al ERROR(/ProcessBuilder) . |
command | String : el comando del sistema especificado y, opcionalmente, argumentos para exec |
Devoluciones | |
---|---|
Process | el ERROR(/Process) del comando ejecutado |
runEscalatingTimedRetry
public 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 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 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 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 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 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 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 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 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 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 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 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 ERROR(/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 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 void setEnvVariable (String name, String value)
Establece una variable de entorno que se utilizará al ejecutar comandos del sistema.
Parámetros | |
---|---|
name | String : el nombre de la variable |
value | String : el valor de la variable |
establecerEnvVariablePriority
public 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 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 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 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 void setWorkingDir (File dir)
Establece el directorio de trabajo para los comandos del sistema.
Parámetros | |
---|---|
dir | File : el directorio de trabajo |
dormir
public 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 void unsetEnvVariable (String key)
Desarma una variable de entorno, por lo que los comandos del sistema se ejecutan sin esta variable de entorno. Las variables de entorno pueden heredar del proceso principal, por lo que debemos eliminar la variable de entorno de ERROR(/ProcessBuilder#environment())
Parámetros | |
---|---|
key | String : el nombre de la variable |
Ver también: