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 RunUtil à utiliser.

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 RunUtil par défaut.

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 runCmdInBackground(String) qui accepte les arguments de commande sous la forme ERROR(/List) .

Process runCmdInBackground ( command) runCmdInBackground ( command)

Une autre méthode runCmdInBackground(String) qui accepte les arguments de commande sous la forme ERROR(/List) .

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

L'exécution de la commande avec une ERROR(/OutputStream) enregistre la sortie de la commande.

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 ProcessBuilder.environment()

Des champs

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Constructeurs publics

RunUtil

public RunUtil ()

Créez un nouvel objet RunUtil à utiliser.

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.

Ceci est utile pour les appelants qui souhaitent utiliser IRunUtil sans personnalisation. Il est recommandé que les appelants qui ont besoin d'une instance IRunUtil personnalisée (c'est-à-dire qui doivent appeler 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 : l' 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 : l' 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 : la commande à exécuter

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: