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 un objet |
|
RunUtil(boolean inheritEnvVars)
|
Méthodes publiques | |
---|---|
void
|
allowInterrupt(boolean allow)
Active/désactive les interruptions d'exécution sur le thread actuel. |
ProcessBuilder
|
createProcessBuilder(Redirect redirect,
|
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 ou à 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()
Indique l'état d'interruption de RunUtil. |
static
File
|
linkFile(File destRoot, String relToRoot, File target)
Associe |
Process
|
runCmdInBackground(Redirect redirect,
Autre méthode |
Process
|
runCmdInBackground(
Autre méthode |
Process
|
runCmdInBackground(
L'exécution de la commande avec |
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, qui est abandonné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, d'arrêter l'exécution si elle prend plus de temps que la durée spécifiée et de rediriger la sortie vers des fichiers, le cas échéant. |
CommandResult
|
runTimedCmd(long timeout, String... command)
Méthode d'assistance permettant d'exécuter une commande système et d'arrêter l'exécution si elle prend plus de temps que la durée spécifiée. |
CommandResult
|
runTimedCmdRetry(long timeout, long retryInterval, int attempts, String... command)
Méthode d'assistance permettant d'exécuter une commande système et d'arrêter l'exécution si elle prend plus de temps que la durée spécifiée. |
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'arrêter l'exécution si elle prend plus de temps que la durée spécifiée. |
CommandResult
|
runTimedCmdSilently(long timeout, String... command)
Méthode d'assistance permettant d'exécuter une commande système et d'arrêter l'exécution si elle prend plus de temps que la durée spécifiée. |
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 prend plus de temps que le temps spécifié. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input, File stdoutFile, File stderrFile, String... command)
Méthode d'assistance permettant d'exécuter une commande système, d'arrêter l'exécution si elle prend plus de temps que la durée spécifiée et de rediriger la sortie vers des fichiers, le cas échéant. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input, String... command)
Méthode d'assistance permettant d'exécuter une commande système nécessitant une entrée stdin et d'abandonner si elle prend plus de temps que le temps spécifié. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input,
Méthode d'assistance permettant d'exécuter une commande système nécessitant une entrée stdin et d'arrêter l'exécution si elle prend plus de temps qu'une 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 et d'arrêter l'exécution si elle prend plus de temps que l'heure spécifiée. |
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, String... command)
Méthode d'assistance permettant d'exécuter une commande système, d'arrêter l'exécution si elle prend plus de temps que la durée spécifiée et de rediriger la sortie vers des fichiers, le cas échéant. |
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 prend plus de temps que le temps spécifié. |
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'interrompant si elle prend plus de temps que la durée spécifiée. |
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éterminez si, lors de la création d'un processus, le fait de ne pas définir une variable d'environnement est prioritaire sur la définition de celle-ci. |
void
|
setInterruptibleInFuture(Thread thread, long timeMs)
Définir comme interruptible après un certain temps d'attente. |
void
|
setLinuxInterruptProcess(boolean interrupt)
Autorisez l'utilisation de l'interruption "kill" Linux sur le processus exécuté via les méthodes #runTimed lorsqu'il atteint un délai avant expiration. |
void
|
setRedirectStderrToStdout(boolean redirect)
Définissez le flux d'erreur standard pour qu'il redirige 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 permettant de suspendre l'exécution pendant un temps donné, en ignorant les exceptions. |
static
String
|
toRelative(File start, File target)
|
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 |
void
|
uploadCache(ICacheClient cacheClient, ExecutableActionResult actionResult)
Importe le dernier |
Champs
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Constructeurs publics
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 cela est autorisé, les opérations d'exécution du thread actuel peuvent être interrompues 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. |
createProcessBuilder
public ProcessBuilder createProcessBuilder (Redirect redirect,commandList, boolean enableCache)
Paramètres | |
---|---|
redirect |
Redirect |
commandList |
|
enableCache |
boolean |
Renvoie | |
---|---|
ProcessBuilder |
getDefault
public static IRunUtil getDefault ()
Obtenez une référence à l'objet RunUtil
par défaut.
Cela est utile pour les appelants qui souhaitent utiliser IRunUtil sans personnalisation.
Nous recommandons aux appelants qui ont besoin d'une instance IRunUtil personnalisée (c'est-à-dire qui doivent appeler setEnvVariable(String, String)
ou setWorkingDir(File)
) de créer leur propre copie.
Renvoie | |
---|---|
IRunUtil |
interruption
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Interrompt les opérations d'exécution en cours ou à venir sur le thread donné. Les opérations d'exécution sur le thread donné génèrent une exception RunInterruptedException
.
Paramètres | |
---|---|
message |
String : message pour RunInterruptedException . |
errorId |
ErrorIdentifier : représente la cause de l'interruption, le cas échéant. |
interrompre
public void interrupt (Thread thread, String message)
Interrompt les opérations d'exécution en cours ou à venir sur le thread donné. Les opérations d'exécution sur le thread donné génèrent une exception RunInterruptedException
.
Paramètres | |
---|---|
message |
String : message pour RunInterruptedException . |
isInterruptAllowed
public boolean isInterruptAllowed ()
Indique l'état d'interruption de RunUtil.
Renvoie | |
---|---|
boolean |
"true" si l'exécution peut être interrompue, ou "false" dans le cas contraire. |
linkFile
public static File linkFile (File destRoot, String relToRoot, File target)
Associe target
à un lieu 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. |
Renvoie | |
---|---|
File |
le lien symbolique |
Génère | |
---|---|
|
Si l'association du fichier cible échoue. |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect,command)
Autre méthode runCmdInBackground(String)
qui accepte les arguments de commande au format ERROR(/List)
.
Paramètres | |
---|---|
redirect |
Redirect : ERROR(/Redirect) à appliquer à ProcessBuilder . |
command |
: ERROR(/List) contenant la commande système spécifiée et éventuellement des arguments à exécuter |
Renvoie | |
---|---|
Process |
Process de la commande exécutée |
runCmdInBackground
public Process runCmdInBackground (command)
Autre méthode runCmdInBackground(String)
qui accepte les arguments de commande au format ERROR(/List)
.
Paramètres | |
---|---|
command |
: ERROR(/List) contenant la commande système spécifiée et éventuellement des arguments à exécuter sur la commande "exec". |
Renvoie | |
---|---|
Process |
Process de la commande exécutée |
runCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
L'exécution d'une commande avec un ERROR(/OutputStream)
consigne la sortie de la commande.
Stdout et stderr sont fusionnés.
Paramètres | |
---|---|
command |
: commande à exécuter |
output |
OutputStream : OutputStream pour enregistrer la sortie |
Renvoie | |
---|---|
Process |
Process exécutant 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 |
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.
Augmentez 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 se rétablir en cas de panne temporaire.
Paramètres | |
---|---|
opTimeout |
long : durée maximale d'attente (en ms) pour une tentative d'opération unique |
initialPollInterval |
long : délai initial d'attente entre les tentatives d'opération |
maxPollInterval |
long : durée maximale d'attente entre les tentatives d'opération |
maxTime |
long : durée maximale approximative totale à laquelle l'opération doit être réessayée |
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 : durée maximale d'attente (en ms) pour une tentative d'opération unique |
pollInterval |
long : délai d'attente initial entre les tentatives d'opération |
maxTime |
long : durée maximale approximative totale à laquelle l'opération doit être réessayée |
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 l'activité des flux de sortie. L'abandon est annulé si aucune activité de flux n'est observée pendant un certain temps. Si idleOutputTimeout est défini sur zéro, aucune surveillance du flux ne sera effectuée.
Paramètres | |
---|---|
opTimeout |
long : durée maximale d'attente (en ms) pour une tentative d'opération unique |
idleOutputTimeout |
long : durée maximale d'attente (en ms) pour la sortie sur les flux de sortie |
pollInterval |
long : délai d'attente initial entre les tentatives d'opération |
maxTime |
long : durée maximale approximative totale à laquelle l'opération doit être réessayée |
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'interrompant si elle prend plus de temps que la durée spécifiée.
Paramètres | |
---|---|
timeout |
long : temps d'attente maximal en ms |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult à exécuter |
logErrors |
boolean : journalise 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, d'arrêter l'exécution si elle prend plus de temps que la durée spécifiée et de rediriger la sortie vers des fichiers, le cas échéant. Lorsque des ERROR(/OutputStream)
sont fournies de cette manière, elles restent ouvertes à la fin de la fonction.
Paramètres | |
---|---|
timeout |
long : délai d'inactivité maximal en ms. La valeur 0 indique qu'aucun délai d'inactivité n'est défini. |
stdout |
OutputStream : ERROR(/OutputStream) où la sortie standard sera redirigée. Peut être null. |
stderr |
OutputStream : ERROR(/OutputStream) vers lequel 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'arrêter l'exécution si elle prend plus de temps que la durée spécifiée.
Paramètres | |
---|---|
timeout |
long : durée d'attente maximale en ms. La valeur 0 indique qu'aucun délai avant expiration n'est défini. |
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 |
runTimedCmdRetry
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'arrêter l'exécution si elle prend plus de temps que la durée spécifiée.
Paramètres | |
---|---|
timeout |
long : durée maximale d'attente en millisecondes pour chaque tentative |
retryInterval |
long : temps d'attente entre les nouvelles tentatives de commande |
attempts |
int : nombre maximal d'essais à effectuer |
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 prend plus de temps que le temps spécifié. Surveille également l'activité des flux de sortie et interrompt le processus si aucune activité de flux n'est observée pendant une durée spécifiée. Si idleOutputTimeout est défini sur zéro, aucune surveillance du flux ne sera effectuée.
Paramètres | |
---|---|
timeout |
long : temps d'attente maximal, en ms, à chaque tentative |
idleOutputTimeout |
long : durée maximale d'attente (en ms) pour la sortie sur les flux de sortie |
retryInterval |
long : temps d'attente entre les nouvelles tentatives de commande |
attempts |
int : nombre maximal d'essais à effectuer |
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 prend plus de temps que le temps spécifié. Semblable à runTimedCmd(long, String)
, mais ne consigne aucune erreur en cas d'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 |
runTimedCmdSilentlyRetry
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'arrêter l'exécution si elle prend plus de temps que la durée spécifiée. 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 nouvelles tentatives de commande |
attempts |
int : nombre maximal d'essais à effectuer |
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, d'arrêter l'exécution si elle prend plus de temps que la durée spécifiée et de rediriger la sortie vers des fichiers, le cas échéant.
Paramètres | |
---|---|
timeout |
long : délai d'inactivité maximal en ms. La valeur 0 indique qu'aucun délai d'inactivité n'est défini. |
input |
String : entrée stdin à transmettre au processus |
stdoutFile |
File : ERROR(/File) où la sortie standard sera redirigée. Peut être null. |
stderrFile |
File : ERROR(/File) vers lequel la sortie d'erreur sera redirigée. Peut être null. |
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 nécessitant une entrée stdin et d'arrêter l'exécution si elle prend plus de temps qu'une durée spécifiée.
Paramètres | |
---|---|
timeout |
long : temps d'attente maximal en ms |
input |
String : entrée stdin à transmettre au processus |
command |
String : commande système spécifiée et éventuellement arguments d'exécution |
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 nécessitant une entrée stdin et d'arrêter l'exécution si elle prend plus de temps qu'une durée spécifiée.
Paramètres | |
---|---|
timeout |
long : temps d'attente maximal en ms |
input |
String : entrée stdin à transmettre au processus |
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 et de l'abandonner si elle prend plus de temps 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 n'est pas redirigé. |
command |
String : commande système spécifiée et éventuellement arguments d'exécution |
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, d'arrêter l'exécution si elle prend plus de temps que la durée spécifiée et de rediriger la sortie vers des fichiers, le cas échéant. Lorsque des ERROR(/OutputStream)
sont fournies de cette manière, elles restent ouvertes à la fin de la fonction.
Paramètres | |
---|---|
timeout |
long : délai d'inactivité maximal en ms. La valeur 0 indique qu'aucun délai d'inactivité n'est défini. |
idleOutputTimeout |
long : durée maximale d'attente (en ms) pour la sortie sur les flux de sortie |
stdout |
OutputStream : ERROR(/OutputStream) où la sortie standard sera redirigée. Peut être null. |
stderr |
OutputStream : ERROR(/OutputStream) où la sortie d'erreur sera redirigée. Peut être null. |
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'arrêter l'exécution si elle prend plus de temps que la durée spécifiée. Surveille également l'activité des flux de sortie, et interrompt le processus si aucune activité de flux n'est observée pendant une durée spécifiée. Si idleOutputTimeout est défini sur zéro, aucune surveillance du flux ne sera effectuée.
Paramètres | |
---|---|
timeout |
long : durée d'attente maximale en ms. La valeur 0 indique qu'aucun délai avant expiration n'est défini. |
idleOutputTimeout |
long : durée maximale d'attente (en ms) pour la sortie sur les flux de sortie |
command |
String : commande système spécifiée et éventuellement arguments d'exécution |
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 importé pour la mise en cache.
Paramètres | |
---|---|
timeout |
long : délai d'inactivité maximal en ms. La valeur 0 indique qu'aucun délai d'inactivité n'est défini. |
idleOutputTimeout |
long : durée maximale d'attente (en millisecondes) pour la sortie sur les flux de sortie. |
stdout |
OutputStream : ERROR(/OutputStream) où la sortie standard sera redirigée. Peut être null. |
stderr |
OutputStream : ERROR(/OutputStream) vers lequel 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. |
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 aboutisse.
Paramètres | |
---|---|
opTimeout |
long : durée maximale d'attente en millisecondes pour une tentative d'opération |
pollInterval |
long : temps d'attente entre les nouvelles tentatives de commande |
attempts |
int : nombre maximal d'essais à effectuer |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult à exécuter |
Renvoie | |
---|---|
boolean |
true si l'opération a abouti avant que le nombre d'essais ne soit 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 l'activité des flux de sortie et interrompt le processus si aucune activité de flux n'est observée pendant une durée spécifiée. Si idleOutputTimeout est défini sur zéro, aucune surveillance du flux ne sera effectuée.
Paramètres | |
---|---|
opTimeout |
long : durée maximale d'attente en millisecondes 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 nouvelles tentatives de commande |
attempts |
int : nombre maximal d'essais à effectuer |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult à exécuter |
Renvoie | |
---|---|
boolean |
true si l'opération a abouti avant que le nombre d'essais ne soit atteint. |
runTimedWithOutputMonitor
public CommandStatus runTimedWithOutputMonitor (long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Bloque et exécute une opération, l'interrompant si elle prend plus de temps que la durée spécifiée. Surveille également l'activité des flux de sortie, et interrompt le processus si aucune activité de flux n'est observée pendant une durée spécifiée. Si idleOutputTimeout est défini sur zéro, aucune surveillance du flux ne sera effectuée.
Paramètres | |
---|---|
timeout |
long : temps d'attente maximal en ms |
idleOutputTimeout |
long : durée maximale d'attente (en ms) pour la sortie sur les flux de sortie |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult à exécuter |
logErrors |
boolean : journalise 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 |
setEnvVariablePriority
public void setEnvVariablePriority (IRunUtil.EnvPriority priority)
Lors de la création d'un processus, décidez si, lors de la création d'un processus, la suppression des variables d'environnement est une priorité plus élevée que leur définition.
Par défaut, la suppression de la valeur est prioritaire. Autrement dit, si une tentative de définition d'une variable portant le même nom est effectuée, elle ne sera pas effectuée, car la variable sera supprimé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 appliquer l'arrêt à 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 l'interruption "kill" Linux sur le processus exécuté via les méthodes #runTimed lorsqu'il atteint le délai d'inactivité.
Ne peut pas être utilisé sur l'instance IRunUtil
par défaut.
Paramètres | |
---|---|
interrupt |
boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Définit le flux d'erreur standard pour qu'il soit redirigé vers le flux de sortie standard lors de l'exécution de commandes système. La valeur initiale est "false".
Paramètres | |
---|---|
redirect |
boolean : nouvelle valeur indiquant si la redirection doit être effectuée ou non |
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 de veille. Les valeurs inférieures ou égales à 0 sont ignorées. |
à
public static String toRelative (File start, File target)
Paramètres | |
---|---|
start |
File |
target |
File |
Renvoie | |
---|---|
String |
à
public static String toRelative (File start, String target)
Paramètres | |
---|---|
start |
File |
target |
String |
Renvoie | |
---|---|
String |
unsetEnvVariable
public void unsetEnvVariable (String key)
Désactive 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 les supprimer de ProcessBuilder.environment()
.
Paramètres | |
---|---|
key |
String : nom de la variable |
Voir aussi :
importCache
public void uploadCache (ICacheClient cacheClient, ExecutableActionResult actionResult)
Met en ligne la dernière ExecutableActionResult
exécutée avec un cacheClient.
Paramètres | |
---|---|
cacheClient |
ICacheClient : ICacheClient utilisé pour importer le résultat. |
actionResult |
ExecutableActionResult : ExecutableActionResult à importer. |