EjecutarUtil
public
class
RunUtil
extends Object
implements
IRunUtil
Objeto java.lang. | |
↳ | 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()
Crea un objeto |
Métodos públicos | |
---|---|
void
|
allowInterrupt(boolean allow)
Permite o no ejecutar interrupciones en el subproceso actual. |
static
IRunUtil
|
getDefault()
Obtén una referencia al objeto |
void
|
interrupt(Thread thread, String message, ErrorIdentifier errorId)
Interrumpe las operaciones de ejecución en curso o futuras en el subproceso determinado. |
void
|
interrupt(Thread thread, String message)
Interrumpe las operaciones de ejecución en curso o futuras en el subproceso determinado. |
boolean
|
isInterruptAllowed()
Otorga el estado de interrupción de RunUtil. |
Process
|
runCmdInBackground(Redirect redirect,
Un método |
Process
|
runCmdInBackground(
Un método |
Process
|
runCmdInBackground(
Ejecutar el comando con un registro de |
Process
|
runCmdInBackground(String... command)
Es un método de ayuda para ejecutar un comando del sistema de forma asíncrona. |
Process
|
runCmdInBackground(Redirect redirect, String... command)
Es un método de ayuda para ejecutar un comando del sistema de forma asíncrona. |
boolean
|
runEscalatingTimedRetry(long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloquear y ejecutar una operación varias veces hasta que tenga éxito |
boolean
|
runFixedTimedRetry(long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloquear y ejecutar una operación varias veces hasta que tenga éxito |
boolean
|
runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloquear y ejecutar una operación varias veces hasta que tenga éxito |
CommandStatus
|
runTimed(long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Bloquea y ejecuta una operación que se anula si tarda más de un tiempo especificado. |
CommandResult
|
runTimedCmd(long timeout, OutputStream stdout, OutputStream stderr, String... command)
Es un método auxiliar para ejecutar un comando del sistema, anularlo si tarda más de un tiempo especificado y redireccionar el resultado a archivos si se especifica. |
CommandResult
|
runTimedCmd(long timeout, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado. |
CommandResult
|
runTimedCmdRetry(long timeout, long retryInterval, int attempts, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado. |
CommandResult
|
runTimedCmdRetryWithOutputMonitor(long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado. |
CommandResult
|
runTimedCmdSilently(long timeout, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado. |
CommandResult
|
runTimedCmdSilentlyRetry(long timeout, long retryInterval, int attempts, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input, File stdoutFile, File stderrFile, String... command)
Es un método auxiliar para ejecutar un comando del sistema, anularlo si tarda más de un tiempo especificado y redireccionar el resultado a archivos si se especifica. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input, String... command)
Es un método auxiliar para ejecutar un comando del sistema que requiere una entrada stdin y que se anula si tarda más de un tiempo especificado. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input,
Es un método auxiliar para ejecutar un comando del sistema que requiere una entrada stdin y que se anula si tarda más de un tiempo especificado. |
CommandResult
|
runTimedCmdWithInputRedirect(long timeout, File inputRedirect, String... command)
Es un método auxiliar para ejecutar un comando del sistema que requiere redireccionar Stdin desde un archivo y anularlo si tarda más de un tiempo especificado. |
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, String... command)
Es un método auxiliar para ejecutar un comando del sistema, anularlo si tarda más de un tiempo especificado y redireccionar el resultado a archivos si se especifica. |
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado. |
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, ICacheClient cacheClient, String... command)
Método de ayuda para ejecutar un comando del sistema con almacenamiento en caché. |
boolean
|
runTimedRetry(long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Bloquear y ejecutar una operación varias veces hasta que tenga éxito |
boolean
|
runTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Bloquear y ejecutar una operación varias veces hasta que tenga éxito |
CommandStatus
|
runTimedWithOutputMonitor(long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Bloquea y ejecuta una operación que se anula si tarda más de un tiempo especificado. |
void
|
setEnvVariable(String name, String value)
Establece una variable de entorno para usar cuando se ejecutan comandos del sistema. |
void
|
setEnvVariablePriority(IRunUtil.EnvPriority priority)
Decide si, cuando creas un proceso, quitar la variable de entorno tiene mayor prioridad que configurarlas. |
void
|
setInterruptibleInFuture(Thread thread, long timeMs)
Establecer como interrumpible después de un tiempo de espera. |
void
|
setLinuxInterruptProcess(boolean interrupt)
Se permite el uso de la interrupción "kill" de Linux en un proceso que se ejecuta a través de métodos #runTimed cuando se agota el tiempo de espera. |
void
|
setRedirectStderrToStdout(boolean redirect)
Configura la transmisión de errores estándar para redireccionar al flujo de salida estándar cuando se ejecuten comandos del sistema. |
void
|
setWorkingDir(File dir)
Configura el directorio de trabajo para los comandos del sistema. |
void
|
sleep(long time)
Método de ayuda para dormir durante un tiempo determinado, ignorando todas las excepciones. |
void
|
unsetEnvVariable(String key)
Anula una variable de entorno para que los comandos del sistema se ejecuten sin esta variable de entorno.
Las variables de entorno pueden heredarse del proceso superior, por lo que debemos borrar la variable de entorno de |
Campos
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
NOMBRE DEL NOTIFIER_EJECUTABLE
public static final String RUNNABLE_NOTIFIER_NAME
Constructores públicos
Métodos públicos
allowInterrupt
public void allowInterrupt (boolean allow)
Permite o no ejecutar interrupciones en el subproceso actual. Si está permitido, las operaciones de ejecución del subproceso actual pueden interrumpirse desde otros subprocesos mediante el método interrupt(Thread, String)
.
Parámetros | |
---|---|
allow |
boolean : Indica si se deben permitir las interrupciones de ejecución en el subproceso actual. |
getDefault
public static IRunUtil getDefault ()
Obtén una referencia al objeto RunUtil
predeterminado.
Esto es útil para los emisores que desean usar IRunUtil sin personalización.
Se recomienda que los llamadores que sí necesitan una instancia IRunUtil personalizada (es decir, que llamen a setEnvVariable(String, String)
o setWorkingDir(File)
) creen su propia copia.
Devuelve | |
---|---|
IRunUtil |
interrumpir
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Interrumpe las operaciones de ejecución en curso o futuras en el subproceso determinado. Las operaciones de ejecución en el subproceso determinado arrojarán RunInterruptedException
.
Parámetros | |
---|---|
message |
String : Es 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 o futuras en el subproceso determinado. Las operaciones de ejecución en el subproceso determinado arrojarán RunInterruptedException
.
Parámetros | |
---|---|
message |
String : Es el mensaje para RunInterruptedException . |
Está Interrumpido.
public boolean isInterruptAllowed ()
Otorga el estado de interrupción de RunUtil.
Devuelve | |
---|---|
boolean |
true si la ejecución se puede interrumpir; de lo contrario, false. |
runCmdEnBackground
public Process runCmdInBackground (Redirect redirect,command)
Un método runCmdInBackground(String)
alternativo que acepte los argumentos del comando en formato ERROR(/List)
Parámetros | |
---|---|
redirect |
Redirect : Es el ERROR(/Redirect) que se aplicará a ProcessBuilder . |
command |
: Es el ERROR(/List) que contiene el comando del sistema especificado y, de manera opcional, argumentos para ejecutar. |
Devuelve | |
---|---|
Process |
el Process del comando ejecutado |
runCmdEnBackground
public Process runCmdInBackground (command)
Un método runCmdInBackground(String)
alternativo que acepte los argumentos del comando en formato ERROR(/List)
Parámetros | |
---|---|
command |
: Es el ERROR(/List) que contiene el comando del sistema especificado y, de manera opcional, argumentos para ejecutar. |
Devuelve | |
---|---|
Process |
el Process del comando ejecutado |
runCmdEnBackground
public Process runCmdInBackground (command, OutputStream output)
Ejecutar el comando con un registro de ERROR(/OutputStream)
en el resultado del comando
Stdout y stderr se fusionan.
Parámetros | |
---|---|
command |
: Es el comando que se ejecutará. |
output |
OutputStream : Es el OutputStream para guardar el resultado. |
Devuelve | |
---|---|
Process |
el Process que ejecuta el comando |
runCmdEnBackground
public Process runCmdInBackground (String... command)
Es un método de ayuda para ejecutar un comando del sistema de forma asíncrona.
Se mostrará inmediatamente después de iniciar el comando.
Parámetros | |
---|---|
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
Process |
el Process del comando ejecutado |
runCmdEnBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Es un método de ayuda para ejecutar un comando del sistema de forma asíncrona.
Se mostrará inmediatamente después de iniciar el comando.
Parámetros | |
---|---|
redirect |
Redirect : Es el ERROR(/Redirect) que se aplicará a ProcessBuilder . |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
Process |
el Process del comando ejecutado |
runEscalatingTimedRetry
public boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloquear y ejecutar una operación varias veces hasta que tenga éxito
Aumenta exponencialmente el tiempo de espera entre los intentos de la operación. Esto está diseñado para usarse cuando se realiza una operación, como sondear un servidor, a fin de que se recupere en caso de que se encuentre temporalmente fuera de servicio.
Parámetros | |
---|---|
opTimeout |
long : Es el tiempo máximo de espera en milisegundos para un solo intento de operación. |
initialPollInterval |
long : Es el tiempo inicial de espera entre los intentos de operación. |
maxPollInterval |
long : El tiempo máximo de espera entre intentos de operación |
maxTime |
long : Es el tiempo máximo total aproximado para seguir probando la operación. |
runnable |
IRunUtil.IRunnableResult : Es IRunUtil.IRunnableResult para ejecutar. |
Devuelve | |
---|---|
boolean |
true si la operación se completó correctamente antes de que venciera maxTime |
runFixedTimedRetry
public boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloquear y ejecutar una operación varias veces hasta que tenga éxito
Parámetros | |
---|---|
opTimeout |
long : Es el tiempo máximo de espera en milisegundos para un solo intento de operación. |
pollInterval |
long : Es el tiempo inicial de espera entre los intentos de operación. |
maxTime |
long : Es el tiempo máximo total aproximado para seguir probando la operación. |
runnable |
IRunUtil.IRunnableResult : Es IRunUtil.IRunnableResult para ejecutar. |
Devuelve | |
---|---|
boolean |
true si la operación se completó correctamente antes de que venciera maxTime |
runFixedTimedRetryWithOutputMonitor
public boolean runFixedTimedRetryWithOutputMonitor (long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloquear y ejecutar una operación varias veces hasta que tenga éxito También supervisa la actividad de las transmisiones de salida y se anulan si no se observa ninguna actividad de transmisión durante un tiempo especificado. Si inactivoOutputTimeout se establece en cero, no se realizará ninguna supervisión de transmisión.
Parámetros | |
---|---|
opTimeout |
long : Es el tiempo máximo de espera en milisegundos para un solo intento de operación. |
idleOutputTimeout |
long : Es el tiempo máximo de espera en ms para obtener un resultado en las transmisiones de salida. |
pollInterval |
long : Es el tiempo inicial de espera entre los intentos de operación. |
maxTime |
long : Es el tiempo máximo total aproximado para seguir probando la operación. |
runnable |
IRunUtil.IRunnableResult : Es IRunUtil.IRunnableResult para ejecutar. |
Devuelve | |
---|---|
boolean |
true si la operación se completó correctamente antes de que venciera maxTime |
cronometrado de ejecución
public CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Bloquea y ejecuta una operación que se anula si tarda más de un tiempo especificado.
Parámetros | |
---|---|
timeout |
long : Tiempo máximo de espera en ms |
runnable |
IRunUtil.IRunnableResult : Es IRunUtil.IRunnableResult para ejecutar. |
logErrors |
boolean : registra errores en una excepción o no. |
Devuelve | |
---|---|
CommandStatus |
el resultado de la operación CommandStatus |
Comando de tiempo de ejecución
public CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Es un método auxiliar para ejecutar un comando del sistema, anularlo si tarda más de un tiempo especificado y redireccionar el resultado a archivos si se especifica. Cuando se proporcionen ERROR(/OutputStream)
de esta manera, quedarán abiertos al final de la función.
Parámetros | |
---|---|
timeout |
long : Es el tiempo máximo de espera en ms. 0 significa que no hay tiempo de espera. |
stdout |
OutputStream : ERROR(/OutputStream) donde se redireccionará el resultado estándar. Puede ser nulo. |
stderr |
OutputStream : ERROR(/OutputStream) donde se redireccionará el resultado del error. Puede ser nulo. |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
Comando de tiempo de ejecución
public CommandResult runTimedCmd (long timeout, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado.
Parámetros | |
---|---|
timeout |
long : El tiempo máximo de espera en ms. 0 significa que no hay tiempo de espera. |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdreintentar
public CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado.
Parámetros | |
---|---|
timeout |
long : Es el tiempo máximo de espera en ms para cada intento. |
retryInterval |
long : Es el tiempo de espera entre los reintentos del comando. |
attempts |
int : Es la cantidad máxima de intentos que se pueden intentar. |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdRetryWithOutputMonitor
public CommandResult runTimedCmdRetryWithOutputMonitor (long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado. También supervisa la actividad de las transmisiones de salida y se anulan si no se observa ninguna actividad de transmisión durante un tiempo especificado. Si inactivoOutputTimeout se establece en cero, no se realizará ninguna supervisión de transmisión.
Parámetros | |
---|---|
timeout |
long : Es el tiempo máximo de espera en ms para cada intento. |
idleOutputTimeout |
long : Es el tiempo máximo de espera en ms para obtener un resultado en las transmisiones de salida. |
retryInterval |
long : Es el tiempo de espera entre los reintentos del comando. |
attempts |
int : Es la cantidad máxima de intentos que se pueden intentar. |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
Tiempo de ejecuciónCmdEn silencio
public CommandResult runTimedCmdSilently (long timeout, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado. Es similar a runTimedCmd(long, String)
, pero no registra ningún error ante la excepción.
Parámetros | |
---|---|
timeout |
long : Tiempo máximo de espera en ms |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdEn silencioReintentar
public CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado. Es similar a runTimedCmdRetry(long, long, int, String[])
, pero no registra ningún error ante una excepción.
Parámetros | |
---|---|
timeout |
long : Tiempo máximo de espera en ms |
retryInterval |
long : Es el tiempo de espera entre los reintentos del comando. |
attempts |
int : Es la cantidad máxima de intentos que se pueden intentar. |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdconentrada
public CommandResult runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command)
Es un método auxiliar para ejecutar un comando del sistema, anularlo si tarda más de un tiempo especificado y redireccionar el resultado a archivos si se especifica.
Parámetros | |
---|---|
timeout |
long : Es el tiempo máximo de espera en ms. 0 significa que no hay tiempo de espera. |
input |
String : Es la entrada estándar que se pasará al proceso. |
stdoutFile |
File : ERROR(/File) donde se redireccionará el resultado estándar. Puede ser nulo. |
stderrFile |
File : ERROR(/File) donde se redireccionará el resultado del error. Puede ser nulo. |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdconentrada
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Es un método auxiliar para ejecutar un comando del sistema que requiere una entrada stdin y que se anula si tarda más de un tiempo especificado.
Parámetros | |
---|---|
timeout |
long : Tiempo máximo de espera en ms |
input |
String : Es la entrada estándar que se pasará al proceso. |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdconentrada
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Es un método auxiliar para ejecutar un comando del sistema que requiere una entrada stdin y que se anula si tarda más de un tiempo especificado.
Parámetros | |
---|---|
timeout |
long : Tiempo máximo de espera en ms |
input |
String : Es la entrada estándar que se pasará al proceso. |
command |
: Es el ERROR(/List) que contiene el comando del sistema y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdWithInputRedirect
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Es un método auxiliar para ejecutar un comando del sistema que requiere redireccionar Stdin desde un archivo y anularlo si tarda más de un tiempo especificado.
Parámetros | |
---|---|
timeout |
long : Tiempo máximo de espera en ms |
inputRedirect |
File : Es el ERROR(/File) que se redireccionará como entrada estándar con ProcessBuilder.redirectInput() . Si es nulo, stdin no se redireccionará. |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdWithOutputMonitor
public CommandResult runTimedCmdWithOutputMonitor (long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, String... command)
Es un método auxiliar para ejecutar un comando del sistema, anularlo si tarda más de un tiempo especificado y redireccionar el resultado a archivos si se especifica. Cuando se proporcionen ERROR(/OutputStream)
de esta manera, quedarán abiertos al final de la función.
Parámetros | |
---|---|
timeout |
long : Es el tiempo máximo de espera en ms. 0 significa que no hay tiempo de espera. |
idleOutputTimeout |
long : Es el tiempo máximo de espera en ms para obtener un resultado en las transmisiones de salida. |
stdout |
OutputStream : ERROR(/OutputStream) donde se redireccionará el resultado estándar. Puede ser nulo. |
stderr |
OutputStream : ERROR(/OutputStream) donde se redireccionará el resultado del error. Puede ser nulo. |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdWithOutputMonitor
public CommandResult runTimedCmdWithOutputMonitor (long timeout, long idleOutputTimeout, String... command)
Es un método auxiliar para ejecutar un comando del sistema y anularlo si tarda más de un tiempo especificado. También supervisa la actividad de las transmisiones de salida y se anulan si no se observa ninguna actividad de transmisión durante un tiempo especificado. Si inactivoOutputTimeout se establece en cero, no se realizará ninguna supervisión de transmisión.
Parámetros | |
---|---|
timeout |
long : El tiempo máximo de espera en ms. 0 significa que no hay tiempo de espera. |
idleOutputTimeout |
long : Es el tiempo máximo de espera en ms para obtener un resultado en las transmisiones de salida. |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdWithOutputMonitor
public CommandResult runTimedCmdWithOutputMonitor (long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, ICacheClient cacheClient, String... command)
Método de ayuda para ejecutar un comando del sistema con almacenamiento en caché.
Si se especifica cacheClient
, se habilitará el almacenamiento en caché. Si la caché está disponible, se mostrará el resultado almacenado en caché. De lo contrario, se usará runTimedCmdWithOutputMonitor(long, long, OutputStream, OutputStream, String)
para ejecutar el comando y el resultado se subirá para almacenar en caché.
Parámetros | |
---|---|
timeout |
long : Es el tiempo máximo de espera en ms. 0 significa que no hay tiempo de espera. |
idleOutputTimeout |
long : Es el tiempo máximo de espera en ms para obtener un resultado en las transmisiones de salida. |
stdout |
OutputStream : ERROR(/OutputStream) donde se redireccionará el resultado estándar. Puede ser nulo. |
stderr |
OutputStream : ERROR(/OutputStream) donde se redireccionará el resultado del error. Puede ser nulo. |
cacheClient |
ICacheClient : Es una instancia de ICacheClient que se usa para controlar el almacenamiento en caché. |
command |
String : Es el comando del sistema especificado y, opcionalmente, argumentos para ejecutar. |
Devuelve | |
---|---|
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)
Bloquear y ejecutar una operación varias veces hasta que tenga éxito
Parámetros | |
---|---|
opTimeout |
long : Es el tiempo máximo de espera en ms para un intento de operación. |
pollInterval |
long : Es el tiempo de espera entre los reintentos del comando. |
attempts |
int : Es la cantidad máxima de intentos que se pueden intentar. |
runnable |
IRunUtil.IRunnableResult : Es IRunUtil.IRunnableResult para ejecutar. |
Devuelve | |
---|---|
boolean |
Es true si la operación se completó correctamente antes de que se alcancen los intentos. |
runTimedRetryWithOutputMonitor
public boolean runTimedRetryWithOutputMonitor (long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Bloquear y ejecutar una operación varias veces hasta que tenga éxito También supervisa la actividad de las transmisiones de salida y se anulan si no se observa ninguna actividad de transmisión durante un tiempo especificado. Si inactivoOutputTimeout se establece en cero, no se realizará ninguna supervisión de transmisión.
Parámetros | |
---|---|
opTimeout |
long : Es el tiempo máximo de espera en ms para un intento de operación. |
idleOutputTimeout |
long : Es el tiempo máximo de espera en ms para obtener un resultado en las transmisiones de salida. |
pollInterval |
long : Es el tiempo de espera entre los reintentos del comando. |
attempts |
int : Es la cantidad máxima de intentos que se pueden intentar. |
runnable |
IRunUtil.IRunnableResult : Es IRunUtil.IRunnableResult para ejecutar. |
Devuelve | |
---|---|
boolean |
Es true si la operación se completó correctamente antes de que se alcancen los intentos. |
runTimedWithOutputMonitor
public CommandStatus runTimedWithOutputMonitor (long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Bloquea y ejecuta una operación que se anula si tarda más de un tiempo especificado. También supervisa la actividad de las transmisiones de salida y se anulan si no se observa ninguna actividad de transmisión durante un tiempo especificado. Si inactivoOutputTimeout se establece en cero, no se realizará ninguna supervisión de transmisión.
Parámetros | |
---|---|
timeout |
long : Tiempo máximo de espera en ms |
idleOutputTimeout |
long : Es el tiempo máximo de espera en ms para obtener un resultado en las transmisiones de salida. |
runnable |
IRunUtil.IRunnableResult : Es IRunUtil.IRunnableResult para ejecutar. |
logErrors |
boolean : registra errores en una excepción o no. |
Devuelve | |
---|---|
CommandStatus |
el resultado de la operación CommandStatus |
setEnvVariable
public void setEnvVariable (String name, String value)
Establece una variable de entorno para usar cuando se ejecutan comandos del sistema.
Parámetros | |
---|---|
name |
String : Es el nombre de la variable. |
value |
String : Es el valor de la variable. |
setEnvVariablePriority
public void setEnvVariablePriority (IRunUtil.EnvPriority priority)
Decide si, cuando creas un proceso, quitar la variable de entorno tiene mayor prioridad que configurarlas.
De forma predeterminada, la desconfiguración tiene una prioridad más alta, es decir, si se intenta establecer una variable con el mismo nombre, esto no sucederá, ya que no se establecerá la variable.
No se puede usar en la instancia IRunUtil
predeterminada.
Parámetros | |
---|---|
priority |
IRunUtil.EnvPriority |
setInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Establecer como interrumpible después de un tiempo de espera.
ERROR(/CommandScheduler#shutdownHard())
para aplicar la finalización en algún momento.
Parámetros | |
---|---|
thread |
Thread : Es el subproceso que se volverá interrumpido. |
timeMs |
long : Es el tiempo de espera antes de configurar un elemento interrumpible. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Se permite el uso de la interrupción "kill" de Linux en un proceso que se ejecuta a través de métodos #runTimed cuando se agota el tiempo de espera.
No se puede usar en la instancia IRunUtil
predeterminada.
Parámetros | |
---|---|
interrupt |
boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Configura la transmisión de errores estándar para redireccionar al flujo de salida estándar cuando se ejecuten comandos del sistema. El valor inicial es falso.
Parámetros | |
---|---|
redirect |
boolean : Es un valor nuevo que indica si se redireccionará o no. |
setTrabajoDir
public void setWorkingDir (File dir)
Configura el directorio de trabajo para los comandos del sistema.
Parámetros | |
---|---|
dir |
File : El directorio de trabajo |
sleep
public void sleep (long time)
Método de ayuda para dormir durante un tiempo determinado, ignorando todas las excepciones.
Parámetros | |
---|---|
time |
long : ms para suspender; se ignorarán los valores inferiores o iguales a 0. |
VariableEnv
public void unsetEnvVariable (String key)
Anula una variable de entorno para que los comandos del sistema se ejecuten sin esta variable de entorno.
Las variables de entorno pueden heredarse del proceso superior, por lo que debemos borrar la variable de entorno de ProcessBuilder.environment()
.
Parámetros | |
---|---|
key |
String : Es el nombre de la variable. |
También: