RunUtil
public class RunUtil
extends Object
implements IRunUtil
java.lang.Object | |
↳ | com.android.tradefed.util.RunUtil |
Une collection de méthodes d'assistance pour l'exécution d'opérations.
Résumé
Des champs | |
---|---|
public static final String | INHERITIO_PREFIX |
public static final String | RUNNABLE_NOTIFIER_NAME
|
Constructeurs publics | |
---|---|
RunUtil () Créez un nouvel objet |
Méthodes publiques | |
---|---|
void | allowInterrupt (boolean allow) Autorise/interdit les interruptions d'exécution sur le thread en cours. |
static IRunUtil | getDefault () Obtenez une référence à l'objet |
void | interrupt (Thread thread, String message, ErrorIdentifier errorId) Interrompt les opérations d'exécution en cours/à venir sur le thread donné. |
void | interrupt (Thread thread, String message) Interrompt les opérations d'exécution en cours/à venir sur le thread donné. |
boolean | isInterruptAllowed () Donnez l'état d'interruption de RunUtil. |
Process | runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command) Une autre méthode |
Process | runCmdInBackground ( command) runCmdInBackground ( command) Une autre méthode |
Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) L'exécution de la commande avec une |
Process | runCmdInBackground (String... command) Méthode d'assistance pour exécuter une commande système de manière asynchrone. |
Process | runCmdInBackground (Redirect redirect, String... command) Méthode d'assistance pour exécuter une commande système de manière asynchrone. |
boolean | runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle réussisse. |
boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle réussisse. |
CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) Bloque et exécute une opération, en l'abandonnant si elle prend plus de temps qu'un temps spécifié. |
CommandResult | runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command) Méthode d'assistance pour exécuter une commande système, abandonner si cela prend plus de temps qu'un temps spécifié et rediriger la sortie vers des fichiers si spécifié. |
CommandResult | runTimedCmd (long timeout, String... command) Méthode d'assistance pour exécuter une commande système et abandon si cela prend plus de temps qu'un temps spécifié. |
CommandResult | runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command) Méthode d'assistance pour exécuter une commande système et abandon si cela prend plus de temps qu'un temps spécifié. |
CommandResult | runTimedCmdSilently (long timeout, String... command) Méthode d'assistance pour exécuter une commande système et abandon si cela prend plus de temps qu'un temps spécifié. |
CommandResult | runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command) Méthode d'assistance pour exécuter une commande système et abandon si cela prend plus de temps qu'un temps spécifié. |
CommandResult | runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command) Méthode d'assistance pour exécuter une commande système, abandonner si cela prend plus de temps qu'un temps spécifié et rediriger la sortie vers des fichiers si spécifié. |
CommandResult | runTimedCmdWithInput (long timeout, String input, String... command) Méthode d'assistance pour exécuter une commande système qui nécessite une entrée stdin et abandonner si cela prend plus de temps qu'un temps spécifié. |
CommandResult | runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command) Méthode d'assistance pour exécuter une commande système qui nécessite une entrée stdin et abandonner si cela prend plus de temps qu'un temps spécifié. |
CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) Méthode d'assistance pour exécuter une commande système qui nécessite la redirection de Stdin à partir d'un fichier et l'abandon si cela prend plus de temps qu'un temps spécifié. |
boolean | runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable) Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle réussisse. |
void | setEnvVariable (String name, String value) Définit une variable d'environnement à utiliser lors de l'exécution de commandes système. |
void | setEnvVariablePriority ( IRunUtil.EnvPriority priority) Décidez si, lors de la création d'un processus, la désactivation de la variable d'environnement est une priorité plus élevée que sa définition. |
void | setInterruptibleInFuture (Thread thread, long timeMs) Définir comme interruptible après un certain temps d'attente. |
void | setLinuxInterruptProcess (boolean interrupt) Autoriser l'utilisation de l'interruption Linux 'kill' sur le processus exécuté via les méthodes #runTimed lorsqu'il atteint un délai d'attente. |
void | setRedirectStderrToStdout (boolean redirect) Définissez le flux d'erreurs standard pour rediriger vers le flux de sortie standard lors de l'exécution de commandes système. |
void | setWorkingDir (File dir) Définit le répertoire de travail pour les commandes système. |
void | sleep (long time) Méthode d'assistance pour dormir pendant un temps donné, en ignorant toutes les exceptions. |
void | unsetEnvVariable (String key) Annule la définition d'une variable d'environnement, de sorte que les commandes système s'exécutent sans cette variable d'environnement. Les variables d'environnement peuvent hériter du processus parent, nous devons donc supprimer la variable d'environnement de |
Des champs
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Constructeurs publics
Méthodes publiques
autoriserl'interruption
public void allowInterrupt (boolean allow)
Autorise/interdit les interruptions d'exécution sur le thread en cours. Si cela est autorisé, les opérations d'exécution du thread actuel peuvent être interrompues à partir d'autres threads via la méthode interrupt(Thread, String)
.
Paramètres | |
---|---|
allow | boolean : s'il faut autoriser les interruptions d'exécution sur le thread actuel. |
getDefault
public static IRunUtil getDefault ()
Obtenez une référence à l'objet RunUtil
par défaut.
setEnvVariable(String, String)
ou setWorkingDir(File)
créent leur propre copie.Retour | |
---|---|
IRunUtil |
interrompre
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Interrompt les opérations d'exécution en cours/à venir sur le thread donné. Les opérations d'exécution sur le thread donné lèveront RunInterruptedException
.
Paramètres | |
---|---|
message | String : le message pour RunInterruptedException . |
errorId | ErrorIdentifier : Représente la cause de l'interruption lorsqu'elle est connue. |
interrompre
public void interrupt (Thread thread, String message)
Interrompt les opérations d'exécution en cours/à venir sur le thread donné. Les opérations d'exécution sur le thread donné lèveront RunInterruptedException
.
Paramètres | |
---|---|
message | String : le message pour RunInterruptedException . |
isInterruptAllow
public boolean isInterruptAllowed ()
Donnez l'état d'interruption de RunUtil.
Retour | |
---|---|
boolean | true si l'exécution peut être interrompue, false sinon. |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect,command)
Une autre méthode runCmdInBackground(String)
qui accepte les arguments de commande sous la forme ERROR(/List)
.
Paramètres | |
---|---|
redirect | Redirect : L' ERROR(/Redirect) à appliquer au ProcessBuilder . |
command | ERROR(/List) contenant la commande système spécifiée et éventuellement les arguments à exec |
Retour | |
---|---|
Process | le Process de la commande exécutée |
runCmdInBackground
public Process runCmdInBackground (command)
Une autre méthode runCmdInBackground(String)
qui accepte les arguments de commande sous la forme ERROR(/List)
.
Paramètres | |
---|---|
command | ERROR(/List) contenant la commande système spécifiée et éventuellement les arguments à exec |
Retour | |
---|---|
Process | le Process de la commande exécutée |
runCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
L'exécution de la commande avec une ERROR(/OutputStream)
enregistre la sortie de la commande. Stdout et stderr sont fusionnés.
Paramètres | |
---|---|
command | |
output | OutputStream : le OutputStream pour enregistrer la sortie |
Retour | |
---|---|
Process | le Process exécutant la commande |
runCmdInBackground
public Process runCmdInBackground (String... command)
Méthode d'assistance pour exécuter une commande système de manière asynchrone.
Reviendra immédiatement après le lancement de la commande.
Paramètres | |
---|---|
command | String : la commande système spécifiée et éventuellement les arguments de exec |
Retour | |
---|---|
Process | le Process de la commande exécutée |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Méthode d'assistance pour exécuter une commande système de manière asynchrone.
Reviendra immédiatement après le lancement de la commande.
Paramètres | |
---|---|
redirect | Redirect : L' ERROR(/Redirect) à appliquer au ProcessBuilder . |
command | String : la commande système spécifiée et éventuellement les arguments de exec |
Retour | |
---|---|
Process | le Process de la commande exécutée |
runEscalatingTimedRetry
public boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle réussisse.
Augmentez de manière exponentielle le temps d'attente entre les tentatives d'opération. Ceci est destiné à être utilisé lors de l'exécution d'une opération telle que l'interrogation d'un serveur, pour lui donner le temps de récupérer au cas où il serait temporairement indisponible.Paramètres | |
---|---|
opTimeout | long : temps d'attente maximal en ms pour une seule tentative d'opération |
initialPollInterval | long : temps d'attente initial entre les tentatives d'opération |
maxPollInterval | long : le temps d'attente maximum entre les tentatives d'opération |
maxTime | long : le temps maximum approximatif total pour continuer à essayer l'opération |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult à exécuter |
Retour | |
---|---|
boolean | true si l'opération s'est terminée avec succès avant l'expiration de maxTime |
runFixedTimedRetry
public boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle réussisse.
Paramètres | |
---|---|
opTimeout | long : temps d'attente maximal en ms pour une seule tentative d'opération |
pollInterval | long : temps d'attente initial entre les tentatives d'opération |
maxTime | long : le temps maximum approximatif total pour continuer à essayer l'opération |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult à exécuter |
Retour | |
---|---|
boolean | true si l'opération s'est terminée avec succès avant l'expiration de maxTime |
runTimed
public CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Bloque et exécute une opération, en l'abandonnant si elle prend plus de temps qu'un temps spécifié.
Paramètres | |
---|---|
timeout | long : temps d'attente maximum en ms |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult à exécuter |
logErrors | boolean : journalise les erreurs sur exception ou non. |
Retour | |
---|---|
CommandStatus | le résultat CommandStatus de l'opération. |
runTimedCmd
public CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Méthode d'assistance pour exécuter une commande système, abandonner si cela prend plus de temps qu'un temps spécifié et rediriger la sortie vers des fichiers si spécifié. Lorsque ERROR(/OutputStream)
sont fournis de cette manière, ils seront laissés ouverts à la fin de la fonction.
Paramètres | |
---|---|
timeout | long : timeout temps maximum d'attente en ms. 0 signifie pas de délai d'attente. |
stdout | OutputStream : ERROR(/OutputStream) où la sortie std sera redirigée. Peut être nul. |
stderr | OutputStream : ERROR(/OutputStream) où la sortie d'erreur sera redirigée. Peut être nul. |
command | String : la commande système spécifiée et éventuellement les arguments de exec |
Retour | |
---|---|
CommandResult | un CommandResult contenant le résultat de l'exécution de la commande |
runTimedCmd
public CommandResult runTimedCmd (long timeout, String... command)
Méthode d'assistance pour exécuter une commande système et abandon si cela prend plus de temps qu'un temps spécifié.
Paramètres | |
---|---|
timeout | long : temps d'attente maximum en ms. 0 signifie pas de délai d'attente. |
command | String : la commande système spécifiée et éventuellement les arguments de exec |
Retour | |
---|---|
CommandResult | un CommandResult contenant le résultat de l'exécution de la commande |
runTimedCmdRetry
public CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
Méthode d'assistance pour exécuter une commande système et abandon si cela prend plus de temps qu'un temps spécifié.
Paramètres | |
---|---|
timeout | long : temps maximum d'attente en ms pour chaque tentative |
retryInterval | long : temps d'attente entre les tentatives de commande |
attempts | int : le nombre maximum de tentatives pour essayer |
command | String : la commande système spécifiée et éventuellement les arguments de exec |
Retour | |
---|---|
CommandResult | un CommandResult contenant le résultat de l'exécution de la commande |
runTimedCmdSilently
public CommandResult runTimedCmdSilently (long timeout, String... command)
Méthode d'assistance pour exécuter une commande système et abandon si cela prend plus de temps qu'un temps spécifié. Similaire à runTimedCmd(long, String)
, mais n'enregistre aucune erreur sur exception.
Paramètres | |
---|---|
timeout | long : temps d'attente maximum en ms |
command | String : la commande système spécifiée et éventuellement les arguments de exec |
Retour | |
---|---|
CommandResult | un CommandResult contenant le résultat de l'exécution de la commande |
runTimedCmdSilentlyRetry
public CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
Méthode d'assistance pour exécuter une commande système et abandon si cela prend plus de temps qu'un temps spécifié. Similaire à runTimedCmdRetry(long, long, int, String[])
, mais n'enregistre aucune erreur sur exception.
Paramètres | |
---|---|
timeout | long : temps d'attente maximum en ms |
retryInterval | long : temps d'attente entre les tentatives de commande |
attempts | int : le nombre maximum de tentatives pour essayer |
command | String : la commande système spécifiée et éventuellement les arguments de exec |
Retour | |
---|---|
CommandResult | un CommandResult contenant le résultat de l'exécution de la commande |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command)
Méthode d'assistance pour exécuter une commande système, abandonner si cela prend plus de temps qu'un temps spécifié et rediriger la sortie vers des fichiers si spécifié.
Paramètres | |
---|---|
timeout | long : timeout temps maximum d'attente en ms. 0 signifie pas de délai d'attente. |
input | String : l'entrée stdin à transmettre au processus |
stdoutFile | File : ERROR(/File) où la sortie std sera redirigée. Peut être nul. |
stderrFile | File : ERROR(/File) où la sortie d'erreur sera redirigée. Peut être nul. |
command | String : la commande système spécifiée et éventuellement les arguments de exec |
Retour | |
---|---|
CommandResult | un CommandResult contenant le résultat de l'exécution de la commande |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Méthode d'assistance pour exécuter une commande système qui nécessite une entrée stdin et abandonner si cela prend plus de temps qu'un temps spécifié.
Paramètres | |
---|---|
timeout | long : temps d'attente maximum en ms |
input | String : l'entrée stdin à transmettre au processus |
command | String : la commande système spécifiée et éventuellement les arguments de exec |
Retour | |
---|---|
CommandResult | un CommandResult contenant le résultat de l'exécution de la commande |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Méthode d'assistance pour exécuter une commande système qui nécessite une entrée stdin et abandonner si cela prend plus de temps qu'un temps spécifié.
Paramètres | |
---|---|
timeout | long : temps d'attente maximum en ms |
input | String : l'entrée stdin à transmettre au processus |
command | ERROR(/List) contenant la commande système et éventuellement les arguments de exec |
Retour | |
---|---|
CommandResult | un CommandResult contenant le résultat de l'exécution de la commande |
runTimedCmdWithInputRedirect
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Méthode d'assistance pour exécuter une commande système qui nécessite la redirection de Stdin à partir d'un fichier et l'abandon si cela prend plus de temps qu'un temps spécifié.
Paramètres | |
---|---|
timeout | long : temps d'attente maximum en ms |
inputRedirect | File : l' ERROR(/File) à rediriger en entrée standard en utilisant ProcessBuilder.redirectInput() . Si null, stdin ne sera pas redirigé. |
command | String : la commande système spécifiée et éventuellement les arguments de exec |
Retour | |
---|---|
CommandResult | un CommandResult contenant le résultat de l'exécution de la commande |
runTimedRetry
public boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle réussisse.
Paramètres | |
---|---|
opTimeout | long : temps maximum d'attente en ms pour une tentative d'opération |
pollInterval | long : temps d'attente entre les tentatives de commande |
attempts | int : le nombre maximum de tentatives pour essayer |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult à exécuter |
Retour | |
---|---|
boolean | true si l'opération s'est terminée avec succès avant que les tentatives ne soient atteintes. |
setEnvVariable
public void setEnvVariable (String name, String value)
Définit une variable d'environnement à utiliser lors de l'exécution de commandes système.
Paramètres | |
---|---|
name | String : le nom de la variable |
value | String : la valeur de la variable |
setEnvVariablePrioritysetEnvVariablePriority
public void setEnvVariablePriority (IRunUtil.EnvPriority priority)
Décidez si, lors de la création d'un processus, la désactivation de la variable d'environnement est une priorité plus élevée que sa définition. Par défaut, la désactivation a une priorité plus élevée : ce qui signifie que si une tentative de définition d'une variable portant le même nom est faite, cela n'arrivera pas puisque la variable sera désactivée. Ne peut pas être utilisé sur l'instance IRunUtil
par défaut.
Paramètres | |
---|---|
priority | IRunUtil.EnvPriority |
setInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Définir comme interruptible après un certain temps d'attente. ERROR(/CommandScheduler#shutdownHard())
pour forcer nous terminons finalement.
Paramètres | |
---|---|
thread | Thread : le thread qui deviendra interruptible. |
timeMs | long : temps d'attente avant la mise en interruptible. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Autoriser l'utilisation de l'interruption Linux 'kill' sur le processus exécuté via les méthodes #runTimed lorsqu'il atteint un délai d'attente. Ne peut pas être utilisé sur l'instance IRunUtil
par défaut.
Paramètres | |
---|---|
interrupt | boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Définissez le flux d'erreurs standard pour rediriger vers le flux de sortie standard lors de l'exécution de commandes système. La valeur initiale est fausse.
Paramètres | |
---|---|
redirect | boolean : nouvelle valeur pour rediriger ou non |
setWorkingDir
public void setWorkingDir (File dir)
Définit le répertoire de travail pour les commandes système.
Paramètres | |
---|---|
dir | File : le répertoire de travail |
dormir
public void sleep (long time)
Méthode d'assistance pour dormir pendant un temps donné, en ignorant toutes les exceptions.
Paramètres | |
---|---|
time | long : ms dormir. les valeurs inférieures ou égales à 0 seront ignorées |
unsetEnvVariable
public void unsetEnvVariable (String key)
Annule la définition d'une variable d'environnement, de sorte que les commandes système s'exécutent sans cette variable d'environnement. Les variables d'environnement peuvent hériter du processus parent, nous devons donc supprimer la variable d'environnement de ProcessBuilder.environment()
Paramètres | |
---|---|
key | String : le nom de la variable |
Voir également: