RunUtil
public
class
RunUtil
extends Object
implements
IRunUtil
java.lang.Object | |
↳ | com.android.tradefed.util.RunUtil |
Es 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 |
|
RunUtil(boolean inheritEnvVars)
|
Métodos públicos | |
---|---|
void
|
allowInterrupt(boolean allow)
Permite o no ejecutar interrupciones en el subproceso actual. |
ProcessBuilder
|
createProcessBuilder(Redirect redirect,
|
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 próximas en el subproceso determinado. |
boolean
|
isInterruptAllowed()
Proporciona el estado de interrupción de RunUtil. |
static
File
|
linkFile(File destRoot, String relToRoot, File target)
Vincula el |
Process
|
runCmdInBackground(Redirect redirect,
Un método |
Process
|
runCmdInBackground(
Un método |
Process
|
runCmdInBackground(
Ejecutar el comando con un registro |
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 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 se complete correctamente. |
boolean
|
runFixedTimedRetry(long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloquea y ejecuta una operación varias veces hasta que se complete correctamente. |
boolean
|
runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloquea y ejecuta una operación varias veces hasta que se complete correctamente. |
CommandStatus
|
runTimed(long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Bloquea y ejecuta una operación, y la aborta 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, abortarlo 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 de ayuda para ejecutar un comando del sistema y abortarlo si tarda más que un tiempo especificado. |
CommandResult
|
runTimedCmdRetry(long timeout, long retryInterval, int attempts, String... command)
Es un método de ayuda para ejecutar un comando del sistema y abortarlo si tarda más que un tiempo especificado. |
CommandResult
|
runTimedCmdRetryWithOutputMonitor(long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)
Es un método de ayuda para ejecutar un comando del sistema y abortarlo si tarda más que un tiempo especificado. |
CommandResult
|
runTimedCmdSilently(long timeout, String... command)
Es un método de ayuda para ejecutar un comando del sistema y abortarlo si tarda más que un tiempo especificado. |
CommandResult
|
runTimedCmdSilentlyRetry(long timeout, long retryInterval, int attempts, String... command)
Es un método de ayuda para ejecutar un comando del sistema y abortarlo si tarda más que 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, abortarlo 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 de stdin y abortar si tarda más que un tiempo especificado. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input,
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 abortarlo 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, abortarlo 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 de ayuda para ejecutar un comando del sistema y abortarlo si tarda más que un tiempo especificado. |
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, ICacheClient cacheClient, String... command)
Método auxiliar para ejecutar un comando del sistema con almacenamiento en caché. |
boolean
|
runTimedRetry(long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Bloquea y ejecuta una operación varias veces hasta que se complete correctamente. |
boolean
|
runTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Bloquea y ejecuta una operación varias veces hasta que se complete correctamente. |
CommandStatus
|
runTimedWithOutputMonitor(long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Bloquea y ejecuta una operación, y la aborta si tarda más de un tiempo especificado. |
void
|
setEnvVariable(String name, String value)
Establece una variable de entorno que se usará cuando se ejecuten comandos del sistema. |
void
|
setEnvVariablePriority(IRunUtil.EnvPriority priority)
Decide si, cuando creas un proceso, anular la configuración de la variable de entorno tiene una prioridad más alta que configurarla. |
void
|
setInterruptibleInFuture(Thread thread, long timeMs)
Se establece como interrumpible después de un tiempo de espera. |
void
|
setLinuxInterruptProcess(boolean interrupt)
Permite usar la interrupción "kill" de Linux en el proceso que se ejecuta a través de métodos #runTimed cuando se alcanza un tiempo de espera. |
void
|
setRedirectStderrToStdout(boolean redirect)
Establece el flujo de error estándar para que redireccione al flujo de salida estándar cuando se ejecuten comandos del sistema. |
void
|
setWorkingDir(File dir)
Establece 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. |
static
String
|
toRelative(File start, File target)
|
static
String
|
toRelative(File start, String target)
|
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 |
void
|
uploadCache(ICacheClient cacheClient, ExecutableActionResult actionResult)
Sube el último |
Campos
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
NOMBRE DEL NOTIFIER_EJECUTABLE
public static final String RUNNABLE_NOTIFIER_NAME
Constructores públicos
RunUtil
public RunUtil (boolean inheritEnvVars)
Parámetros | |
---|---|
inheritEnvVars |
boolean |
Métodos públicos
allowInterrupt
public void allowInterrupt (boolean allow)
Permite o inhabilita las interrupciones de ejecución 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 permiten interrupciones de ejecución en el subproceso actual. |
createProcessBuilder
public ProcessBuilder createProcessBuilder (Redirect redirect,commandList, boolean enableCache)
Parámetros | |
---|---|
redirect |
Redirect |
commandList |
|
enableCache |
boolean |
Muestra | |
---|---|
ProcessBuilder |
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 necesiten una instancia personalizada de IRunUtil (es decir, que deban llamar a setEnvVariable(String, String)
o setWorkingDir(File)
) creen su propia copia.
Muestra | |
---|---|
IRunUtil |
interrumpir
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Interrumpe las operaciones de ejecución en curso o próximas 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 próximas 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 . |
isInterruptAllowed
public boolean isInterruptAllowed ()
Proporciona el estado de interrupción de RunUtil.
Muestra | |
---|---|
boolean |
Es verdadero si se puede interrumpir la ejecución; de lo contrario, es falso. |
linkFile
public static File linkFile (File destRoot, String relToRoot, File target)
Vincula el target
a un lugar en destRoot
.
Si el archivo de destino o el symlink ya existen en destRoot
, el archivo no se vinculará.
Parámetros | |
---|---|
destRoot |
File : Es la raíz del destino. |
relToRoot |
String : Es la ruta de acceso relativa del directorio de destino a la raíz. |
target |
File : Es el archivo de destino que se vinculará. |
Muestra | |
---|---|
File |
el symlink |
Arroja | |
---|---|
|
si no se puede vincular el archivo de destino. |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect,command)
Un método runCmdInBackground(String)
alternativo que acepta 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, los argumentos para ejecutar. |
Muestra | |
---|---|
Process |
el Process del comando ejecutado |
runCmdEnBackground
public Process runCmdInBackground (command)
Un método runCmdInBackground(String)
alternativo que acepta 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, los argumentos para ejecutar. |
Muestra | |
---|---|
Process |
el Process del comando ejecutado |
runCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
Ejecutar el comando con un registro de ERROR(/OutputStream)
en el resultado del comando
Stdout y stderr se combinan.
Parámetros | |
---|---|
command |
: Es el comando que se ejecutará. |
output |
OutputStream : Es el OutputStream para guardar el resultado. |
Muestra | |
---|---|
Process |
el Process que ejecuta el comando |
runCmdInBackground
public Process runCmdInBackground (String... command)
Es un método auxiliar 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. |
Muestra | |
---|---|
Process |
el Process del comando ejecutado |
runCmdEnBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Es un método auxiliar 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 : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar |
Muestra | |
---|---|
Process |
el 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 se complete correctamente.
Aumenta exponencialmente el tiempo de espera entre los intentos de la operación. Se diseñó para usarse cuando se realiza una operación, como sondear un servidor, para darle tiempo para recuperarse en caso de que esté inactivo temporalmente.
Parámetros | |
---|---|
opTimeout |
long : Es el tiempo máximo de espera en ms para un solo intento de operación. |
initialPollInterval |
long : Es el tiempo inicial de espera entre los intentos de operación. |
maxPollInterval |
long : Es el tiempo máximo de espera entre los intentos de operación. |
maxTime |
long : Es el tiempo máximo aproximado total para seguir intentando la operación. |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para ejecutar |
Muestra | |
---|---|
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)
Bloquea y ejecuta una operación varias veces hasta que se complete correctamente.
Parámetros | |
---|---|
opTimeout |
long : Es el tiempo máximo de espera en ms 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 aproximado total para seguir intentando la operación. |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para ejecutar |
Muestra | |
---|---|
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 las transmisiones de salida en busca de actividad y se cancela si no se observa actividad de transmisión durante un tiempo especificado. Si idleOutputTimeout 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 solo intento de operación. |
idleOutputTimeout |
long : Es el tiempo máximo en ms que se debe esperar para obtener resultados en los flujos de salida. |
pollInterval |
long : Es el tiempo inicial de espera entre los intentos de operación. |
maxTime |
long : Es el tiempo máximo aproximado total para seguir intentando la operación. |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para ejecutar |
Muestra | |
---|---|
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, y la aborta si tarda más de un tiempo especificado.
Parámetros | |
---|---|
timeout |
long : Es el tiempo máximo de espera en ms. |
runnable |
IRunUtil.IRunnableResult : Es IRunUtil.IRunnableResult para ejecutar. |
logErrors |
boolean : Registra errores en la excepción o no. |
Muestra | |
---|---|
CommandStatus |
el resultado CommandStatus de la operación. |
runTimedCmd
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,
se dejará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) a la que se redireccionará el resultado estándar. Puede ser nulo. |
stderr |
OutputStream : ERROR(/OutputStream) , a la que se redireccionará el resultado del error. Puede ser nulo. |
command |
String : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar |
Muestra | |
---|---|
CommandResult |
Un CommandResult que contiene el resultado de la ejecución del comando |
Comando de ejecución de tiempo
public CommandResult runTimedCmd (long timeout, String... command)
Es un método de ayuda para ejecutar un comando del sistema y abortarlo si tarda más que un tiempo especificado.
Parámetros | |
---|---|
timeout |
long : Es el tiempo máximo de espera en ms. 0 significa que no hay tiempo de espera. |
command |
String : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar |
Muestra | |
---|---|
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 de ayuda para ejecutar un comando del sistema y abortarlo si tarda más que 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 las reintentos de comandos. |
attempts |
int : Es la cantidad máxima de intentos que se deben realizar. |
command |
String : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar |
Muestra | |
---|---|
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 de ayuda para ejecutar un comando del sistema y abortarlo si tarda más que un tiempo especificado. También supervisa las transmisiones de salida en busca de actividad y se cancela si no se observa actividad de transmisión durante un tiempo determinado. 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 en ms que se debe esperar para obtener resultados en los flujos de salida. |
retryInterval |
long : Es el tiempo de espera entre las reintentos de comandos. |
attempts |
int : Es la cantidad máxima de intentos que se deben realizar. |
command |
String : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar |
Muestra | |
---|---|
CommandResult |
Un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdSilently
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. Similar a runTimedCmd(long, String)
, pero no registra ningún error en la excepción.
Parámetros | |
---|---|
timeout |
long : Es el tiempo máximo de espera en ms. |
command |
String : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar |
Muestra | |
---|---|
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)
Es un método de ayuda para ejecutar un comando del sistema y abortarlo si tarda más que un tiempo especificado. Similar a runTimedCmdRetry(long, long, int, String[])
, pero no registra ningún error en la excepción.
Parámetros | |
---|---|
timeout |
long : Tiempo máximo de espera en ms |
retryInterval |
long : Es el tiempo de espera entre las reintentos de comandos. |
attempts |
int : Es la cantidad máxima de intentos que se deben realizar. |
command |
String : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar |
Muestra | |
---|---|
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, abortarlo 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 de stdin que se pasará para procesar. |
stdoutFile |
File : ERROR(/File) a la que se redireccionará el resultado estándar. Puede ser nulo. |
stderrFile |
File : ERROR(/File) , a la que se redireccionará el resultado del error. Puede ser nulo. |
command |
String : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar |
Muestra | |
---|---|
CommandResult |
un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Es un método auxiliar para ejecutar un comando del sistema que requiere una entrada de stdin y abortar si tarda más que un tiempo especificado.
Parámetros | |
---|---|
timeout |
long : Es el tiempo máximo de espera en ms. |
input |
String : Es la entrada de stdin que se pasará para procesar. |
command |
String : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar |
Muestra | |
---|---|
CommandResult |
Un CommandResult que contiene el resultado de la ejecución del comando |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Es un método auxiliar para ejecutar un comando del sistema que requiere una entrada de stdin y abortar si tarda más que un tiempo especificado.
Parámetros | |
---|---|
timeout |
long : Es el tiempo máximo de espera en ms. |
input |
String : Es la entrada de stdin que se pasará para procesar. |
command |
: Es el ERROR(/List) que contiene el comando del sistema y, opcionalmente, argumentos para ejecutar. |
Muestra | |
---|---|
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 abortarlo si tarda más de un tiempo especificado.
Parámetros | |
---|---|
timeout |
long : Es el 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. |
Muestra | |
---|---|
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, abortarlo 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,
se dejará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 en ms que se debe esperar para obtener resultados en los flujos de salida. |
stdout |
OutputStream : ERROR(/OutputStream) a la que 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 : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar |
Muestra | |
---|---|
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 de ayuda para ejecutar un comando del sistema y abortarlo si tarda más que un tiempo especificado. También supervisa las transmisiones de salida en busca de actividad y se cancela si no se observa actividad de transmisión durante un tiempo determinado. 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. 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 : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar |
Muestra | |
---|---|
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 auxiliar 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 en ms que se debe esperar para obtener resultados en los flujos de salida. |
stdout |
OutputStream : ERROR(/OutputStream) a la que se redireccionará el resultado estándar. Puede ser nulo. |
stderr |
OutputStream : ERROR(/OutputStream) , a la que 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 : El comando del sistema especificado y, de manera opcional, los argumentos para ejecutar. |
Muestra | |
---|---|
CommandResult |
Un CommandResult que contiene el resultado de la ejecución del comando |
runTimedreintentar
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 las reintentos de comandos. |
attempts |
int : Es la cantidad máxima de intentos que se pueden intentar. |
runnable |
IRunUtil.IRunnableResult : Es IRunUtil.IRunnableResult para ejecutar. |
Muestra | |
---|---|
boolean |
true si la operación se completó correctamente antes de que se alcanzaran los intentos. |
runTimedRetryWithOutputMonitor
public boolean runTimedRetryWithOutputMonitor (long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Bloquea y ejecuta una operación varias veces hasta que se complete correctamente. También supervisa las transmisiones de salida en busca de actividad y se cancela si no se observa 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 en ms que se debe esperar para obtener resultados en los flujos de salida. |
pollInterval |
long : Es el tiempo de espera entre las reintentos de comandos. |
attempts |
int : Es la cantidad máxima de intentos que se deben realizar. |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para ejecutar |
Muestra | |
---|---|
boolean |
true si la operación se completó correctamente antes de que se alcanzaran los intentos. |
runTimedWithOutputMonitor
public CommandStatus runTimedWithOutputMonitor (long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Bloquea y ejecuta una operación, y la aborta si tarda más de un tiempo especificado. También supervisa las transmisiones de salida en busca de actividad y se cancela si no se observa actividad de transmisión durante un tiempo especificado. Si idleOutputTimeout 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. |
idleOutputTimeout |
long : Es el tiempo máximo en ms que se debe esperar para obtener resultados en los flujos de salida. |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult para ejecutar |
logErrors |
boolean : Registra errores en la excepción o no. |
Muestra | |
---|---|
CommandStatus |
el resultado CommandStatus de la operación. |
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 : El valor de la variable |
setEnvVariablePriority
public void setEnvVariablePriority (IRunUtil.EnvPriority priority)
Decide si, cuando creas un proceso, anular la configuración de la variable de entorno tiene una prioridad más alta que configurarla.
De forma predeterminada, la anulación de configuración tiene una prioridad más alta, lo que significa que, si se intenta establecer una variable con el mismo nombre, no se hará, ya que la variable no se establecerá.
No se puede usar en la instancia predeterminada de IRunUtil
.
Parámetros | |
---|---|
priority |
IRunUtil.EnvPriority |
setInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Se establece como interrumpible después de un tiempo de espera.
ERROR(/CommandScheduler#shutdownHard())
para aplicar la cancelación en algún momento.
Parámetros | |
---|---|
thread |
Thread : Es el subproceso que se volverá interrumpible. |
timeMs |
long : Es el tiempo de espera antes de establecer la interrupción. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Permite usar la interrupción "kill" de Linux en el proceso que se ejecuta a través de métodos #runTimed cuando se alcanza un tiempo de espera.
No se puede usar en la instancia predeterminada de IRunUtil
.
Parámetros | |
---|---|
interrupt |
boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Establece el flujo de error estándar para que redireccione al flujo de salida estándar cuando se ejecuten comandos del sistema. El valor inicial es falso.
Parámetros | |
---|---|
redirect |
boolean : Es el valor nuevo para redireccionar o no. |
setWorkingDir
public void setWorkingDir (File dir)
Establece el directorio de trabajo para los comandos del sistema.
Parámetros | |
---|---|
dir |
File : El directorio de trabajo |
sleep
public void sleep (long time)
Es un método auxiliar para suspender la ejecución durante un tiempo determinado, sin tener en cuenta las excepciones.
Parámetros | |
---|---|
time |
long : Es la cantidad de milisegundos que se deben suspender. Se ignorarán los valores inferiores o iguales a 0. |
toRelative
public static String toRelative (File start, File target)
Parámetros | |
---|---|
start |
File |
target |
File |
Muestra | |
---|---|
String |
toRelative
public static String toRelative (File start, String target)
Parámetros | |
---|---|
start |
File |
target |
String |
Muestra | |
---|---|
String |
unsetEnvVariable
public void unsetEnvVariable (String key)
Desactiva una variable de entorno, de modo que los comandos del sistema se ejecuten sin ella.
Las variables de entorno pueden heredar 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:
uploadCache
public void uploadCache (ICacheClient cacheClient, ExecutableActionResult actionResult)
Sube el último ExecutableActionResult
que se ejecutó con un cacheClient.
Parámetros | |
---|---|
cacheClient |
ICacheClient : Es el ICacheClient que se usa para subir el resultado. |
actionResult |
ExecutableActionResult : Es el ExecutableActionResult que se subirá. |