RunUtil
public class RunUtil
extends Object
implements IRunUtil
java.lang.Object | |
↳ | com.android.tradefed.util.RunUtil |
Eine Sammlung von Hilfsmethoden zum Ausführen von Vorgängen.
Zusammenfassung
Felder | |
---|---|
public static final String | INHERITIO_PREFIX |
public static final String | RUNNABLE_NOTIFIER_NAME
|
Öffentliche Bauträger | |
---|---|
RunUtil () Erstellen Sie ein neues |
Öffentliche Methoden | |
---|---|
void | allowInterrupt (boolean allow) Erlaubt/verbietet Ausführungsinterrupts für den aktuellen Thread. |
static IRunUtil | getDefault () Rufen Sie einen Verweis auf das Standard- |
void | interrupt (Thread thread, String message, ErrorIdentifier errorId) Unterbricht die laufenden/anstehenden Ausführungsvorgänge für den angegebenen Thread. |
void | interrupt (Thread thread, String message) Unterbricht die laufenden/anstehenden Ausführungsvorgänge für den angegebenen Thread. |
boolean | isInterruptAllowed () Geben Sie den Interrupt-Status von RunUtil an. |
Process | runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command) Eine alternative |
Process | runCmdInBackground ( command) runCmdInBackground ( command) Eine alternative |
Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) Das Ausführen eines Befehls mit einem |
Process | runCmdInBackground (String... command) Hilfsmethode zum asynchronen Ausführen eines Systembefehls. |
Process | runCmdInBackground (Redirect redirect, String... command) Hilfsmethode zum asynchronen Ausführen eines Systembefehls. |
boolean | runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Blockieren und führen Sie einen Vorgang mehrmals aus, bis er erfolgreich ist. |
boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Blockieren und führen Sie einen Vorgang mehrmals aus, bis er erfolgreich ist. |
CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) Blockiert und führt einen Vorgang aus und bricht ihn ab, wenn er länger als eine angegebene Zeit dauert. |
CommandResult | runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command) Hilfsmethode zum Ausführen eines Systembefehls, zum Abbrechen, wenn er länger als eine angegebene Zeit dauert, und zum Umleiten der Ausgabe in Dateien, falls angegeben. |
CommandResult | runTimedCmd (long timeout, String... command) Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn er länger als eine angegebene Zeit dauert. |
CommandResult | runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command) Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn er länger als eine angegebene Zeit dauert. |
CommandResult | runTimedCmdSilently (long timeout, String... command) Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn er länger als eine angegebene Zeit dauert. |
CommandResult | runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command) Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn er länger als eine angegebene Zeit dauert. |
CommandResult | runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command) Hilfsmethode zum Ausführen eines Systembefehls, zum Abbrechen, wenn er länger als eine angegebene Zeit dauert, und zum Umleiten der Ausgabe in Dateien, falls angegeben. |
CommandResult | runTimedCmdWithInput (long timeout, String input, String... command) Hilfsmethode zum Ausführen eines Systembefehls, der eine Standardeingabe erfordert, und zum Abbrechen, wenn die Ausführung länger als eine angegebene Zeit dauert. |
CommandResult | runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command) Hilfsmethode zum Ausführen eines Systembefehls, der eine Standardeingabe erfordert, und zum Abbrechen, wenn die Ausführung länger als eine angegebene Zeit dauert. |
CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) Hilfsmethode zum Ausführen eines Systembefehls, der die Umleitung von Stdin aus einer Datei und den Abbruch erfordert, wenn der Vorgang länger als eine angegebene Zeit dauert. |
boolean | runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable) Blockieren und führen Sie einen Vorgang mehrmals aus, bis er erfolgreich ist. |
void | setEnvVariable (String name, String value) Legt eine Umgebungsvariable fest, die beim Ausführen von Systembefehlen verwendet werden soll. |
void | setEnvVariablePriority ( IRunUtil.EnvPriority priority) Entscheiden Sie, ob beim Erstellen eines Prozesses das Deaktivieren von Umgebungsvariablen eine höhere Priorität hat als das Festlegen. |
void | setInterruptibleInFuture (Thread thread, long timeMs) Nach einiger Wartezeit als unterbrechbar festlegen. |
void | setLinuxInterruptProcess (boolean interrupt) Ermöglicht die Verwendung einer Linux-Kill-Unterbrechung für Prozesse, die über #runTimed-Methoden ausgeführt werden, wenn eine Zeitüberschreitung erreicht wird. |
void | setRedirectStderrToStdout (boolean redirect) Legen Sie den Standardfehlerstrom so fest, dass beim Ausführen von Systembefehlen zum Standardausgabestrom umgeleitet wird. |
void | setWorkingDir (File dir) Legt das Arbeitsverzeichnis für Systembefehle fest. |
void | sleep (long time) Hilfsmethode zum Ruhen für eine bestimmte Zeit, wobei alle Ausnahmen ignoriert werden. |
void | unsetEnvVariable (String key) Setzt eine Umgebungsvariable zurück, sodass die Systembefehle ohne diese Umgebungsvariable ausgeführt werden. Umgebungsvariablen erben möglicherweise vom übergeordneten Prozess, daher müssen wir die Umgebungsvariable aus |
Felder
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Öffentliche Bauträger
Öffentliche Methoden
erlaubenInterrupt
public void allowInterrupt (boolean allow)
Erlaubt/verbietet Ausführungsinterrupts für den aktuellen Thread. Wenn es erlaubt ist, können Ausführungsvorgänge des aktuellen Threads von anderen Threads über die Methode interrupt(Thread, String)
unterbrochen werden.
Parameter | |
---|---|
allow | boolean : Gibt an, ob Ausführungsinterrupts für den aktuellen Thread zugelassen werden sollen. |
getDefault
public static IRunUtil getDefault ()
Rufen Sie einen Verweis auf das Standard- RunUtil
Objekt ab.
setEnvVariable(String, String)
oder setWorkingDir(File)
aufrufen müssen, ihre eigene Kopie erstellen.Kehrt zurück | |
---|---|
IRunUtil |
unterbrechen
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Unterbricht die laufenden/anstehenden Ausführungsvorgänge für den angegebenen Thread. Die Ausführungsvorgänge für den angegebenen Thread lösen RunInterruptedException
aus.
Parameter | |
---|---|
message | String : die Nachricht für RunInterruptedException . |
errorId | ErrorIdentifier : Stellt die Ursache der Unterbrechung dar, sofern diese bekannt ist. |
unterbrechen
public void interrupt (Thread thread, String message)
Unterbricht die laufenden/anstehenden Ausführungsvorgänge für den angegebenen Thread. Die Ausführungsvorgänge für den angegebenen Thread lösen RunInterruptedException
aus.
Parameter | |
---|---|
message | String : die Nachricht für RunInterruptedException . |
isInterruptAllowed
public boolean isInterruptAllowed ()
Geben Sie den Interrupt-Status von RunUtil an.
Kehrt zurück | |
---|---|
boolean | true, wenn der Lauf unterbrochen werden kann, andernfalls false. |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect,command)
Eine alternative runCmdInBackground(String)
-Methode, die die Befehlsargumente im ERROR(/List)
-Format akzeptiert.
Parameter | |
---|---|
redirect | Redirect : Der ERROR(/Redirect) , der auf den ProcessBuilder angewendet werden soll. |
command | ERROR(/List) , die den angegebenen Systembefehl und optional Argumente für exec enthält |
Kehrt zurück | |
---|---|
Process | der Process des ausgeführten Befehls |
runCmdInBackground
public Process runCmdInBackground (command)
Eine alternative runCmdInBackground(String)
-Methode, die die Befehlsargumente im ERROR(/List)
-Format akzeptiert.
Parameter | |
---|---|
command | ERROR(/List) , die den angegebenen Systembefehl und optional Argumente für exec enthält |
Kehrt zurück | |
---|---|
Process | der Process des ausgeführten Befehls |
runCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
Das Ausführen eines Befehls mit einem ERROR(/OutputStream)
protokolliert die Ausgabe des Befehls. Stdout und stderr werden zusammengeführt.
Parameter | |
---|---|
command | |
output | OutputStream : der OutputStream zum Speichern der Ausgabe |
Kehrt zurück | |
---|---|
Process | Der Process der den Befehl ausführt |
runCmdInBackground
public Process runCmdInBackground (String... command)
Hilfsmethode zum asynchronen Ausführen eines Systembefehls.
Kehrt sofort nach dem Starten des Befehls zurück.
Parameter | |
---|---|
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
Process | der Process des ausgeführten Befehls |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Hilfsmethode zum asynchronen Ausführen eines Systembefehls.
Kehrt sofort nach dem Starten des Befehls zurück.
Parameter | |
---|---|
redirect | Redirect : Der ERROR(/Redirect) , der auf den ProcessBuilder angewendet werden soll. |
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
Process | der Process des ausgeführten Befehls |
runEscalatingTimedRetry
public boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blockieren und führen Sie einen Vorgang mehrmals aus, bis er erfolgreich ist.
Erhöhen Sie die Wartezeit zwischen Operationsversuchen exponentiell. Dies soll bei der Durchführung einer Operation wie der Abfrage eines Servers verwendet werden, um ihm Zeit zur Wiederherstellung zu geben, falls er vorübergehend ausfällt.Parameter | |
---|---|
opTimeout | long : maximale Wartezeit in ms für einen einzelnen Operationsversuch |
initialPollInterval | long : anfängliche Wartezeit zwischen Operationsversuchen |
maxPollInterval | long : Die maximale Wartezeit zwischen Operationsversuchen |
maxTime | long : Die ungefähre Gesamtzeit, die maximal für die weitere Ausführung des Vorgangs benötigt wird |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult zum Ausführen |
Kehrt zurück | |
---|---|
boolean | true , wenn der Vorgang vor Ablauf von maxTime erfolgreich abgeschlossen wurde |
runFixedTimedRetry
public boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blockieren und führen Sie einen Vorgang mehrmals aus, bis er erfolgreich ist.
Parameter | |
---|---|
opTimeout | long : maximale Wartezeit in ms für einen einzelnen Operationsversuch |
pollInterval | long : anfängliche Wartezeit zwischen Operationsversuchen |
maxTime | long : Die ungefähre Gesamtzeit, die maximal für die weitere Ausführung des Vorgangs benötigt wird |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult zum Ausführen |
Kehrt zurück | |
---|---|
boolean | true , wenn der Vorgang vor Ablauf von maxTime erfolgreich abgeschlossen wurde |
runTimed
public CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blockiert und führt einen Vorgang aus und bricht ihn ab, wenn er länger als eine angegebene Zeit dauert.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult zum Ausführen |
logErrors | boolean : Fehler bei Ausnahme protokollieren oder nicht. |
Kehrt zurück | |
---|---|
CommandStatus | das CommandStatus Ergebnis der Operation. |
runTimedCmd
public CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, zum Abbrechen, wenn er länger als eine angegebene Zeit dauert, und zum Umleiten der Ausgabe in Dateien, falls angegeben. Wenn ERROR(/OutputStream)
auf diese Weise bereitgestellt werden, bleiben sie am Ende der Funktion offen.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms. 0 bedeutet kein Timeout. |
stdout | OutputStream : ERROR(/OutputStream) , wohin die Standardausgabe umgeleitet wird. Kann null sein. |
stderr | OutputStream : ERROR(/OutputStream) , wohin die Fehlerausgabe umgeleitet wird. Kann null sein. |
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
CommandResult | ein CommandResult , das das Ergebnis der Befehlsausführung enthält |
runTimedCmd
public CommandResult runTimedCmd (long timeout, String... command)
Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn er länger als eine angegebene Zeit dauert.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms. 0 bedeutet kein Timeout. |
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
CommandResult | ein CommandResult , das das Ergebnis der Befehlsausführung enthält |
runTimedCmdRetry
public CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn er länger als eine angegebene Zeit dauert.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms für jeden Versuch |
retryInterval | long : Wartezeit zwischen Befehlswiederholungen |
attempts | int : die maximale Anzahl der Versuchsversuche |
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
CommandResult | ein CommandResult , das das Ergebnis der Befehlsausführung enthält |
runTimedCmdSilently
public CommandResult runTimedCmdSilently (long timeout, String... command)
Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn er länger als eine angegebene Zeit dauert. Ähnlich wie runTimedCmd(long, String)
, protokolliert jedoch keine Fehler bei Ausnahmen.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms |
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
CommandResult | ein CommandResult , das das Ergebnis der Befehlsausführung enthält |
runTimedCmdSilentlyRetry
public CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn er länger als eine angegebene Zeit dauert. Ähnlich wie runTimedCmdRetry(long, long, int, String[])
, protokolliert jedoch keine Fehler bei Ausnahmen.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms |
retryInterval | long : Wartezeit zwischen Befehlswiederholungen |
attempts | int : die maximale Anzahl der Versuchsversuche |
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
CommandResult | ein CommandResult , das das Ergebnis der Befehlsausführung enthält |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, zum Abbrechen, wenn er länger als eine angegebene Zeit dauert, und zum Umleiten der Ausgabe in Dateien, falls angegeben.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms. 0 bedeutet kein Timeout. |
input | String : die Standardeingabe, die an den Prozess übergeben werden soll |
stdoutFile | File : ERROR(/File) , wohin die Standardausgabe umgeleitet wird. Kann null sein. |
stderrFile | File : ERROR(/File) , wohin die Fehlerausgabe umgeleitet wird. Kann null sein. |
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
CommandResult | ein CommandResult , das das Ergebnis der Befehlsausführung enthält |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, der eine Standardeingabe erfordert, und zum Abbrechen, wenn die Ausführung länger als eine angegebene Zeit dauert.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms |
input | String : die Standardeingabe, die an den Prozess übergeben werden soll |
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
CommandResult | ein CommandResult , das das Ergebnis der Befehlsausführung enthält |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Hilfsmethode zum Ausführen eines Systembefehls, der eine Standardeingabe erfordert, und zum Abbrechen, wenn die Ausführung länger als eine angegebene Zeit dauert.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms |
input | String : die Standardeingabe, die an den Prozess übergeben werden soll |
command | ERROR(/List) enthält den Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
CommandResult | ein CommandResult , das das Ergebnis der Befehlsausführung enthält |
runTimedCmdWithInputRedirect
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, der die Umleitung von Stdin aus einer Datei und den Abbruch erfordert, wenn der Vorgang länger als eine angegebene Zeit dauert.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms |
inputRedirect | File : der ERROR(/File) , der mit ProcessBuilder.redirectInput() als Standardeingabe umgeleitet werden soll. Wenn null, wird stdin nicht umgeleitet. |
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
CommandResult | ein CommandResult , das das Ergebnis der Befehlsausführung enthält |
runTimedRetry
public boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Blockieren und führen Sie einen Vorgang mehrmals aus, bis er erfolgreich ist.
Parameter | |
---|---|
opTimeout | long : maximale Wartezeit in ms für einen Operationsversuch |
pollInterval | long : Wartezeit zwischen Befehlswiederholungen |
attempts | int : die maximale Anzahl der Versuchsversuche |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult zum Ausführen |
Kehrt zurück | |
---|---|
boolean | true , wenn der Vorgang erfolgreich abgeschlossen wurde, bevor Versuche erreicht wurden. |
setEnvVariable
public void setEnvVariable (String name, String value)
Legt eine Umgebungsvariable fest, die beim Ausführen von Systembefehlen verwendet werden soll.
Parameter | |
---|---|
name | String : der Variablenname |
value | String : der Variablenwert |
setEnvVariablePriority
public void setEnvVariablePriority (IRunUtil.EnvPriority priority)
Entscheiden Sie, ob beim Erstellen eines Prozesses das Deaktivieren von Umgebungsvariablen eine höhere Priorität hat als das Festlegen. Standardmäßig hat das Aufheben der Einstellung eine höhere Priorität: Das heißt, wenn versucht wird, eine Variable mit demselben Namen zu setzen, wird dies nicht passieren, da die Variable nicht gesetzt wird. Kann nicht auf der Standard IRunUtil
Instanz verwendet werden.
Parameter | |
---|---|
priority | IRunUtil.EnvPriority |
setInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Nach einiger Wartezeit als unterbrechbar festlegen. ERROR(/CommandScheduler#shutdownHard())
um zu erzwingen, dass wir irgendwann beenden.
Parameter | |
---|---|
thread | Thread : Der Thread, der unterbrechbar wird. |
timeMs | long : Wartezeit, bevor unterbrechbar eingestellt wird. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Ermöglicht die Verwendung einer Linux-Kill-Unterbrechung für Prozesse, die über #runTimed-Methoden ausgeführt werden, wenn eine Zeitüberschreitung erreicht wird. Kann nicht auf der Standard IRunUtil
Instanz verwendet werden.
Parameter | |
---|---|
interrupt | boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Legen Sie den Standardfehlerstrom so fest, dass beim Ausführen von Systembefehlen zum Standardausgabestrom umgeleitet wird. Der Anfangswert ist falsch.
Parameter | |
---|---|
redirect | boolean : neuer Wert dafür, ob umgeleitet werden soll oder nicht |
setWorkingDir
public void setWorkingDir (File dir)
Legt das Arbeitsverzeichnis für Systembefehle fest.
Parameter | |
---|---|
dir | File : das Arbeitsverzeichnis |
schlafen
public void sleep (long time)
Hilfsmethode zum Ruhen für eine bestimmte Zeit, wobei alle Ausnahmen ignoriert werden.
Parameter | |
---|---|
time | long : ms zum Schlafen. Werte kleiner oder gleich 0 werden ignoriert |
unsetEnvVariable
public void unsetEnvVariable (String key)
Setzt eine Umgebungsvariable zurück, sodass die Systembefehle ohne diese Umgebungsvariable ausgeführt werden. Umgebungsvariablen erben möglicherweise vom übergeordneten Prozess, daher müssen wir die Umgebungsvariable aus ProcessBuilder.environment()
löschen.
Parameter | |
---|---|
key | String : der Variablenname |
Siehe auch: