RunUtil

public class RunUtil
extends Object implements IRunUtil

java.lang.Object
   ↳ com.android.tradefed.util.RunUtil


Ensemble de méthodes d'assistance pour l'exécution d'opérations.

Résumé

Champs

public static final String INHERITIO_PREFIX

public static final String RUNNABLE_NOTIFIER_NAME

Constructeurs publics

RunUtil()

Créez l'objet RunUtil à utiliser.

RunUtil(boolean inheritEnvVars)

Méthodes publiques

void allowInterrupt(boolean allow)

Autorise/Interdit les interruptions d'exécution sur le thread actuel.

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()

Donne l'état d'interruption à RunUtil.

static void linkFile(File destRoot, String relToRoot, File target)

Associe le target à un lieu situé sous destRoot.

Process runCmdInBackground(Redirect redirect, command)

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

Process runCmdInBackground( command)

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

Process runCmdInBackground( command, OutputStream output)

L'exécution de la commande avec ERROR(/OutputStream) consigne le résultat de la commande.

Process runCmdInBackground(String... command)

Méthode d'assistance permettant d'exécuter une commande système de manière asynchrone.

Process runCmdInBackground(Redirect redirect, String... command)

Méthode d'assistance permettant d'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 aboutisse.

boolean runFixedTimedRetry(long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle aboutisse.

boolean runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle aboutisse.

CommandStatus runTimed(long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

Bloque et exécute une opération. L'opération est annulée si elle dépasse le délai spécifié.

CommandResult runTimedCmd(long timeout, OutputStream stdout, OutputStream stderr, String... command)

Méthode d'assistance permettant d'exécuter une commande système, abandonnée si elle prend plus de temps que le temps spécifié et rediriger la sortie vers des fichiers si spécifié.

CommandResult runTimedCmd(long timeout, String... command)

Méthode d'assistance permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel.

CommandResult runTimedCmdRetry(long timeout, long retryInterval, int attempts, String... command)

Méthode d'assistance permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel.

CommandResult runTimedCmdRetryWithOutputMonitor(long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)

Méthode d'assistance permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel.

CommandResult runTimedCmdSilently(long timeout, String... command)

Méthode d'assistance permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel.

CommandResult runTimedCmdSilentlyRetry(long timeout, long retryInterval, int attempts, String... command)

Méthode d'assistance permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel.

CommandResult runTimedCmdWithInput(long timeout, String input, File stdoutFile, File stderrFile, String... command)

Méthode d'assistance permettant d'exécuter une commande système, abandonnée si elle prend plus de temps que le 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 permettant d'exécuter une commande système qui nécessite une entrée stdin et de l'abandonner si elle prend plus de temps que la durée spécifiée.

CommandResult runTimedCmdWithInput(long timeout, String input, command)

Méthode d'assistance permettant d'exécuter une commande système qui nécessite une entrée stdin et de l'abandonner si elle prend plus de temps que la durée spécifiée.

CommandResult runTimedCmdWithInputRedirect(long timeout, File inputRedirect, String... command)

Méthode d'assistance permettant d'exécuter une commande système qui nécessite de rediriger Stdin à partir d'un fichier l'annulation si elle dure plus longtemps que le délai spécifié.

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, String... command)

Méthode d'assistance permettant d'exécuter une commande système, abandonnée si elle prend plus de temps que le temps spécifié et rediriger la sortie vers des fichiers si spécifié.

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, String... command)

Méthode d'assistance permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel.

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, ICacheClient cacheClient, String... command)

Méthode d'assistance permettant d'exécuter une commande système avec mise en cache.

boolean runTimedRetry(long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)

Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle aboutisse.

boolean runTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)

Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle aboutisse.

CommandStatus runTimedWithOutputMonitor(long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

Bloque et exécute une opération. L'opération est annulée si elle dépasse le délai spécifié.

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éterminer si, lors de la création d'un processus, la désactivation de la variable d'environnement est plus élevée priorité que de les définir.

void setInterruptibleInFuture(Thread thread, long timeMs)

Définir comme interrompable après un certain temps.

void setLinuxInterruptProcess(boolean interrupt)

Autoriser l'utilisation de la commande "kill" Linux interruption du processus s'exécutant via les méthodes #runTimed lorsqu'il arrive à expiration.

void setRedirectStderrToStdout(boolean redirect)

Définir le flux d'erreur standard pour rediriger vers le flux de sortie standard lors de l'exécution du système commandes.

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 une durée donnée, en ignorant les exceptions.

static String toRelative(File start, String target)
void unsetEnvVariable(String key)

Annule une variable d'environnement afin 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()

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

RunUtil

public RunUtil (boolean inheritEnvVars)

Paramètres
inheritEnvVars boolean

Méthodes publiques

allowInterrupt

public void allowInterrupt (boolean allow)

Autorise/Interdit les interruptions d'exécution sur le thread actuel. Si c'est autorisé, exécutez les opérations le thread actuel peut être interrompu depuis d'autres threads via la méthode interrupt(Thread, String).

Paramètres
allow boolean: autoriser ou non 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. Nous recommandons aux appelants qui ont besoin d'une instance IRunUtil personnalisée (vous devez appeler setEnvVariable(String, String) ou setWorkingDir(File) crée sa propre copie.

Renvoie
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é. L'exécution des opérations sur le thread donné génèrera RunInterruptedException.

Paramètres
message String: message pour RunInterruptedException.

errorId ErrorIdentifier: représentation de 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é. L'exécution des opérations sur le thread donné génèrera RunInterruptedException.

Paramètres
message String: message pour RunInterruptedException.

isInterruptAllowed

public boolean isInterruptAllowed ()

Donne l'état d'interruption à RunUtil.

Renvoie
boolean La valeur est "true" si l'exécution peut être interrompue et la valeur "false" dans le cas contraire.

Fichier lien

public static void linkFile (File destRoot, 
                String relToRoot, 
                File target)

Associe le target à un lieu situé sous destRoot.

Si le fichier cible ou le lien symbolique existe déjà sous destRoot, le fichier ne sera pas associé.

Paramètres
destRoot File: racine de la destination.

relToRoot String: chemin relatif depuis le répertoire de destination jusqu'à la racine.

target File: fichier cible à associer.

Génère
si le fichier cible ne peut pas être associé.

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

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

Paramètres
redirect Redirect: ERROR(/Redirect) à appliquer à ProcessBuilder.

command : le ERROR(/List) contenant la commande système spécifiée et éventuellement des arguments pour exécuter

Renvoie
Process Le paramètre Process de la commande exécutée

runCmdInBackground

public Process runCmdInBackground ( command)

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

Paramètres
command : le ERROR(/List) contenant la commande système spécifiée et éventuellement des arguments pour exécuter

Renvoie
Process Le paramètre Process de la commande exécutée

runCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

L'exécution de la commande avec ERROR(/OutputStream) consigne le résultat de la commande. Stdout et stderr sont fusionnés.

Paramètres
command : commande à exécuter

output OutputStream: OutputStream pour l'enregistrement de la sortie

Renvoie
Process Le Process qui exécute la commande

runCmdInBackground

public Process runCmdInBackground (String... command)

Méthode d'assistance permettant d'exécuter une commande système de manière asynchrone.

Renvoie immédiatement après le lancement de la commande.

Paramètres
command String: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
Process Le paramètre Process de la commande exécutée

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                String... command)

Méthode d'assistance permettant d'exécuter une commande système de manière asynchrone.

Renvoie immédiatement après le lancement de la commande.

Paramètres
redirect Redirect: ERROR(/Redirect) à appliquer à ProcessBuilder.

command String: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
Process Le paramètre 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 aboutisse.

Augmenter de manière exponentielle le temps d'attente entre les tentatives d'opération Il est destiné à être utilisé lors de l'exécution d'une opération telle que l'interrogation d'un serveur, pour lui laisser le temps de récupérer est temporairement indisponible.

Paramètres
opTimeout long: délai maximal d'attente (en ms) pour une seule tentative d'opération

initialPollInterval long: délai initial d'attente entre les tentatives d'opération

maxPollInterval long: délai maximal d'attente entre les tentatives d'opération

maxTime long: durée maximale totale approximative pour continuer à exécuter l'opération

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult à exécuter

Renvoie
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 aboutisse.

Paramètres
opTimeout long: délai maximal d'attente (en ms) pour une seule tentative d'opération

pollInterval long: délai initial d'attente entre les tentatives d'opération

maxTime long: durée maximale totale approximative pour continuer à exécuter l'opération

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult à exécuter

Renvoie
boolean true si l'opération s'est terminée avec succès avant l'expiration de maxTime

runFixedTimedRetryWithOutputMonitor

public boolean runFixedTimedRetryWithOutputMonitor (long opTimeout, 
                long idleOutputTimeout, 
                long pollInterval, 
                long maxTime, 
                IRunUtil.IRunnableResult runnable)

Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle aboutisse. Surveille également flux de sortie pour l'activité. Abandon si aucune activité de flux n'est observée pendant une période donnée. Si la valeur inactiveOutputTimeout est définie sur zéro, aucune surveillance du flux n'est effectuée.

Paramètres
opTimeout long: délai maximal d'attente (en ms) pour une seule tentative d'opération

idleOutputTimeout long: délai maximal d'attente (en ms) pour la sortie des flux de sortie

pollInterval long: délai initial d'attente entre les tentatives d'opération

maxTime long: durée maximale totale approximative pour continuer à exécuter l'opération

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult à exécuter

Renvoie
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. L'opération est annulée si elle dépasse le délai spécifié.

Paramètres
timeout long: temps d'attente maximal en ms

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult à exécuter

logErrors boolean: consigne les erreurs en cas d'exception ou non.

Renvoie
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 permettant d'exécuter une commande système, abandonnée si elle prend plus de temps que le temps spécifié et rediriger la sortie vers des fichiers si spécifié. Lorsque les ERROR(/OutputStream) sont fournies de cette façon, elles resteront ouvertes à la fin de la fonction.

Paramètres
timeout long: délai d'attente maximal en ms. 0 signifie qu'il n'y a pas de délai d'inactivité.

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: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
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 permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel.

Paramètres
timeout long: temps d'attente maximal en ms. 0 signifie qu'il n'y a pas de délai d'inactivité.

command String: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
CommandResult Un CommandResult contenant le résultat de l'exécution de la commande

runTimedCmdRéessayer

public CommandResult runTimedCmdRetry (long timeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Méthode d'assistance permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel.

Paramètres
timeout long: temps d'attente maximal, en ms, à chaque tentative

retryInterval long: temps d'attente entre les tentatives de commande

attempts int: nombre maximal de tentatives

command String: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
CommandResult Un CommandResult contenant le résultat de l'exécution de la commande

runTimedCmdRetryWithOutputMonitor

public CommandResult runTimedCmdRetryWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Méthode d'assistance permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel. Surveille également l'activité des flux de sortie. L'abandon est annulé si aucune activité de flux n'est observé pendant une période donnée. Si la valeur inactiveOutputTimeout est définie sur zéro, aucune surveillance du flux n'est effectuée. se produira.

Paramètres
timeout long: temps d'attente maximal, en ms, à chaque tentative

idleOutputTimeout long: délai maximal d'attente (en ms) pour la sortie des flux de sortie

retryInterval long: temps d'attente entre les tentatives de commande

attempts int: nombre maximal de tentatives

command String: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
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 permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel. Semblable à runTimedCmd(long, String), mais ne consigne aucune erreur sur une exception.

Paramètres
timeout long: temps d'attente maximal en ms

command String: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
CommandResult Un CommandResult contenant le résultat de l'exécution de la commande

runTimedCmdCmdSilentlyRéessayer

public CommandResult runTimedCmdSilentlyRetry (long timeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Méthode d'assistance permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel. Semblable à runTimedCmdRetry(long, long, int, String[]), mais ne consigne aucune erreur en cas d'exception.

Paramètres
timeout long: temps d'attente maximal en ms

retryInterval long: temps d'attente entre les tentatives de commande

attempts int: nombre maximal de tentatives

command String: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
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 permettant d'exécuter une commande système, abandonnée si elle prend plus de temps que le temps spécifié et rediriger la sortie vers des fichiers si spécifié.

Paramètres
timeout long: délai d'attente maximal en ms. 0 signifie qu'il n'y a pas de délai d'inactivité.

input String: entrée stdin à transmettre au traitement

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: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
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 permettant d'exécuter une commande système qui nécessite une entrée stdin et de l'abandonner si elle prend plus de temps que la durée spécifiée.

Paramètres
timeout long: temps d'attente maximal en ms

input String: entrée stdin à transmettre au traitement

command String: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
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 permettant d'exécuter une commande système qui nécessite une entrée stdin et de l'abandonner si elle prend plus de temps que la durée spécifiée.

Paramètres
timeout long: temps d'attente maximal en ms

input String: entrée stdin à transmettre au traitement

command : ERROR(/List) contenant la commande système et éventuellement les arguments de la commande "exec"

Renvoie
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 permettant d'exécuter une commande système qui nécessite de rediriger Stdin à partir d'un fichier l'annulation si elle dure plus longtemps que le délai spécifié.

Paramètres
timeout long: temps d'attente maximal en ms

inputRedirect File: ERROR(/File) à rediriger en tant qu'entrée standard à l'aide de ProcessBuilder.redirectInput(). Si la valeur est nulle, stdin ne sera pas redirigé.

command String: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
CommandResult Un CommandResult contenant le résultat de l'exécution de la commande

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                OutputStream stdout, 
                OutputStream stderr, 
                String... command)

Méthode d'assistance permettant d'exécuter une commande système, abandonnée si elle prend plus de temps que le temps spécifié et rediriger la sortie vers des fichiers si spécifié. Lorsque les ERROR(/OutputStream) sont fournies de cette façon, elles resteront ouvertes à la fin de la fonction.

Paramètres
timeout long: délai d'attente maximal en ms. 0 signifie qu'il n'y a pas de délai d'inactivité.

idleOutputTimeout long: délai maximal d'attente (en ms) pour la sortie des flux de sortie

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: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
CommandResult Un CommandResult contenant le résultat de l'exécution de la commande

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                String... command)

Méthode d'assistance permettant d'exécuter une commande système et d'abandonner si elle dure plus longtemps que la valeur spécifiée en temps réel. Surveille également l'activité des flux de sortie. L'abandon est annulé si aucune activité de flux n'est observé pendant une période donnée. Si la valeur inactiveOutputTimeout est définie sur zéro, aucune surveillance du flux n'est effectuée. se produira.

Paramètres
timeout long: temps d'attente maximal en ms. 0 signifie qu'il n'y a pas de délai d'inactivité.

idleOutputTimeout long: délai maximal d'attente (en ms) pour la sortie des flux de sortie

command String: commande système spécifiée et arguments facultatifs de la commande "exec"

Renvoie
CommandResult Un CommandResult contenant le résultat de l'exécution de la commande

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                OutputStream stdout, 
                OutputStream stderr, 
                ICacheClient cacheClient, 
                String... command)

Méthode d'assistance permettant d'exécuter une commande système avec mise en cache.

Si cacheClient est spécifié, la mise en cache est activée. Si le cache est disponible, le résultat mis en cache est renvoyé. Sinon, runTimedCmdWithOutputMonitor(long, long, OutputStream, OutputStream, String) sera utilisé pour exécuter la commande et le résultat sera chargé pour la mise en cache.

Paramètres
timeout long: délai d'attente maximal en ms. 0 signifie qu'il n'y a pas de délai d'inactivité.

idleOutputTimeout long: délai maximal d'attente (en ms) pour la sortie des flux de sortie.

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.

cacheClient ICacheClient: instance de ICacheClient utilisée pour gérer la mise en cache.

command String: commande système spécifiée et arguments facultatifs de la commande "exec".

Renvoie
CommandResult un CommandResult contenant le résultat de l'exécution de la commande.

runTimedRéessayer

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 aboutisse.

Paramètres
opTimeout long: délai maximal d'attente (en ms) pour une tentative d'opération

pollInterval long: temps d'attente entre les tentatives de commande

attempts int: nombre maximal de tentatives

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult à exécuter

Renvoie
boolean true si l'opération s'est terminée correctement avant le nombre de tentatives atteint.

runTimedRetryWithOutputMonitor

public boolean runTimedRetryWithOutputMonitor (long opTimeout, 
                long idleOutputTimeout, 
                long pollInterval, 
                int attempts, 
                IRunUtil.IRunnableResult runnable)

Bloque et exécute une opération plusieurs fois jusqu'à ce qu'elle aboutisse. Surveille également flux de sortie pour l'activité. Abandon si aucune activité de flux n'est observée pendant une période donnée. Si la valeur inactiveOutputTimeout est définie sur zéro, aucune surveillance du flux n'est effectuée.

Paramètres
opTimeout long: délai maximal d'attente (en ms) pour une tentative d'opération

idleOutputTimeout long: délai maximal d'attente (en ms) pour la sortie des flux de sortie

pollInterval long: temps d'attente entre les tentatives de commande

attempts int: nombre maximal de tentatives

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult à exécuter

Renvoie
boolean true si l'opération s'est terminée correctement avant le nombre de tentatives atteint.

runTimedWithOutputMonitor

public CommandStatus runTimedWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

Bloque et exécute une opération. L'opération est annulée si elle dépasse le délai spécifié. Aussi surveille l'activité des flux de sortie et abandonne si aucune activité de flux n'est observée pour une à une heure précise. Si la valeur inactiveOutputTimeout est définie sur zéro, aucune surveillance du flux n'est effectuée.

Paramètres
timeout long: temps d'attente maximal en ms

idleOutputTimeout long: délai maximal d'attente (en ms) pour la sortie des flux de sortie

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult à exécuter

logErrors boolean: consigne les erreurs en cas d'exception ou non.

Renvoie
CommandStatus le résultat CommandStatus de l'opération.

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: nom de la variable.

value String: valeur de la variable

setEnvVariablePriorité

public void setEnvVariablePriority (IRunUtil.EnvPriority priority)

Déterminer si, lors de la création d'un processus, la désactivation de la variable d'environnement est plus élevée priorité que de les définir. Par défaut, la désactivation a une priorité plus élevée: c'est-à-dire que si vous tentez de définir une variable avec l'attribut le même nom ne se produira pas, car la variable n'est pas définie. 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 interrompable après un certain temps. ERROR(/CommandScheduler#shutdownHard()) pour nous obliger à résilier le compte à terme.

Paramètres
thread Thread: thread qui pourra être interrompu.

timeMs long: temps d'attente avant de définir une interruption.

setLinuxInterruptProcess

public void setLinuxInterruptProcess (boolean interrupt)

Autoriser l'utilisation de la commande "kill" Linux interruption du processus s'exécutant via les méthodes #runTimed lorsqu'il arrive à expiration. Ne peut pas être utilisé sur l'instance IRunUtil par défaut.

Paramètres
interrupt boolean

setRedirectStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

Définir le flux d'erreur standard pour rediriger vers le flux de sortie standard lors de l'exécution du système commandes. La valeur initiale est "false".

Paramètres
redirect boolean: nouvelle valeur indiquant si la redirection doit ou non être effectuée

setWorkingDir

public void setWorkingDir (File dir)

Définit le répertoire de travail pour les commandes système.

Paramètres
dir File: répertoire de travail

sommeil

public void sleep (long time)

Méthode d'assistance pour dormir pendant une durée donnée, en ignorant les exceptions.

Paramètres
time long: ms pour dormir. Les valeurs inférieures ou égales à 0 sont ignorées.

à

public static String toRelative (File start, 
                String target)

Paramètres
start File

target String

Renvoie
String

unesetEnvVariable

public void unsetEnvVariable (String key)

Annule une variable d'environnement afin 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: nom de la variable.