RunUtil
public class RunUtil
extends Object
implements IRunUtil
java.lang.Object | |
↳ | com.android.tradefed.util.RunUtil |
Eine Sammlung von Hilfsmethoden zum Ausführen von Operationen.
Zusammenfassung
Felder | |
---|---|
public static final String | INHERITIO_PREFIX |
public static final String | RUNNABLE_NOTIFIER_NAME
|
Öffentliche Konstrukteure | |
---|---|
RunUtil () Erstellen Sie ein neues zu verwendendes |
Öffentliche Methoden | |
---|---|
void | allowInterrupt (boolean allow) Erlaubt/verbietet die Ausführung von Interrupts für den aktuellen Thread. |
static IRunUtil | getDefault () Rufen Sie eine Referenz auf das standardmäßige |
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) Ausführen des 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) Blockiert und führt eine Operation mehrmals aus, bis sie erfolgreich ist. |
boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Blockiert und führt eine Operation mehrmals aus, bis sie erfolgreich ist. |
CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) Blockiert und führt eine Operation aus und bricht ab, wenn sie 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 dies 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 es 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 es länger als eine angegebene Zeit dauert. |
CommandResult | runTimedCmdSilently (long timeout, String... command) Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn es 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 es 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 dies 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 stdin-Eingabe erfordert, und zum Abbrechen, wenn dies 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 stdin-Eingabe erfordert, und zum Abbrechen, wenn dies länger als eine angegebene Zeit dauert. |
CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) Hilfsmethode zum Ausführen eines Systembefehls, der das Umleiten von Stdin aus einer Datei erfordert, und das Abbrechen, wenn es länger als eine angegebene Zeit dauert. |
boolean | runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable) Blockiert und führt eine Operation mehrmals aus, bis sie 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 der Umgebungsvariable eine höhere Priorität hat als das Setzen. |
void | setInterruptibleInFuture (Thread thread, long timeMs) Nach einiger Wartezeit als unterbrechbar setzen. |
void | setLinuxInterruptProcess (boolean interrupt) Erlauben Sie die Verwendung von Linux-'Kill'-Unterbrechungen für Prozesse, die durch #runTimed-Methoden ausgeführt werden, wenn eine Zeitüberschreitung erreicht wird. |
void | setRedirectStderrToStdout (boolean redirect) Stellen Sie den Standardfehlerstream so ein, dass er beim Ausführen von Systembefehlen zum Standardausgabestream umgeleitet wird. |
void | setWorkingDir (File dir) Legt das Arbeitsverzeichnis für Systembefehle fest. |
void | sleep (long time) Hilfsmethode zum Schlafen 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 können vom übergeordneten Prozess erben, 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 Konstrukteure
Öffentliche Methoden
erlaubenInterrupt
public void allowInterrupt (boolean allow)
Erlaubt/verbietet die Ausführung von Interrupts für den aktuellen Thread. Wenn dies zulässig ist, können Ausführungsvorgänge des aktuellen Threads von anderen Threads über die Methode interrupt(Thread, String)
unterbrochen werden.
Parameter | |
---|---|
allow | boolean : ob Laufunterbrechungen für den aktuellen Thread zugelassen werden sollen. |
getDefault
public static IRunUtil getDefault ()
Rufen Sie eine Referenz auf das standardmäßige 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 bekannt. |
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 Run unterbrochen werden kann, andernfalls false. |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect,command)
Eine alternative runCmdInBackground(String)
-Methode, die die Befehlsargumente in ERROR(/List)
-Form akzeptiert.
Parameter | |
---|---|
redirect | Redirect : Der ERROR(/Redirect) der auf ERROR(/ProcessBuilder) angewendet werden soll. |
command | ERROR(/List) enthält den angegebenen Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
Process | der ERROR(/Process) des ausgeführten Befehls |
runCmdInBackground
public Process runCmdInBackground (command)
Eine alternative runCmdInBackground(String)
-Methode, die die Befehlsargumente in ERROR(/List)
-Form akzeptiert.
Parameter | |
---|---|
command | ERROR(/List) enthält den angegebenen Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
Process | der ERROR(/Process) des ausgeführten Befehls |
runCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
Ausführen des 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 ERROR(/Process) führt den Befehl aus |
runCmdInBackground
public Process runCmdInBackground (String... command)
Hilfsmethode zum asynchronen Ausführen eines Systembefehls.
Wird sofort nach dem Start des Befehls zurückgegeben.
Parameter | |
---|---|
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
Process | der ERROR(/Process) des ausgeführten Befehls |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Hilfsmethode zum asynchronen Ausführen eines Systembefehls.
Wird sofort nach dem Start des Befehls zurückgegeben.
Parameter | |
---|---|
redirect | Redirect : Der ERROR(/Redirect) der auf ERROR(/ProcessBuilder) angewendet werden soll. |
command | String : der angegebene Systembefehl und optional Argumente für exec |
Kehrt zurück | |
---|---|
Process | der ERROR(/Process) des ausgeführten Befehls |
runEscalatingTimedRetry
public boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blockiert und führt eine Operation mehrmals aus, bis sie erfolgreich ist.
Erhöhen Sie die Wartezeit zwischen den Vorgangsversuchen exponentiell. Dies soll verwendet werden, wenn eine Operation wie das Abfragen eines Servers durchgeführt wird, um ihm Zeit zum Wiederherstellen zu geben, falls er vorübergehend ausfällt.Parameter | |
---|---|
opTimeout | long : Maximale Wartezeit in ms für einen einzelnen Vorgangsversuch |
initialPollInterval | long : anfängliche Wartezeit zwischen den Operationsversuchen |
maxPollInterval | long : die maximale Wartezeit zwischen den Operationsversuchen |
maxTime | long : die ungefähre maximale Gesamtzeit, um den Vorgang fortzusetzen |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult zum Ausführen |
Kehrt zurück | |
---|---|
boolean | true , wenn der Vorgang erfolgreich abgeschlossen wurde, bevor maxTime abgelaufen ist |
runFixedTimedRetry
public boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blockiert und führt eine Operation mehrmals aus, bis sie erfolgreich ist.
Parameter | |
---|---|
opTimeout | long : Maximale Wartezeit in ms für einen einzelnen Vorgangsversuch |
pollInterval | long : anfängliche Wartezeit zwischen den Operationsversuchen |
maxTime | long : die ungefähre maximale Gesamtzeit, um den Vorgang fortzusetzen |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult zum Ausführen |
Kehrt zurück | |
---|---|
boolean | true , wenn der Vorgang erfolgreich abgeschlossen wurde, bevor maxTime abgelaufen ist |
runTimed
public CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blockiert und führt eine Operation aus und bricht ab, wenn sie 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 dies 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 : Timeout maximale Wartezeit in ms. 0 bedeutet kein Timeout. |
stdout | OutputStream : ERROR(/OutputStream) wo die Standardausgabe umgeleitet wird. Kann null sein. |
stderr | OutputStream : ERROR(/OutputStream) wo 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 es 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 es 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 von Versuchen |
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 es länger als eine angegebene Zeit dauert. Ähnlich wie runTimedCmd(long, String)
, protokolliert jedoch keine Fehler bei einer Ausnahme.
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 es länger als eine angegebene Zeit dauert. Ähnlich wie runTimedCmdRetry(long, long, int, String[])
, protokolliert jedoch keine Fehler bei einer Ausnahme.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms |
retryInterval | long : Wartezeit zwischen Befehlswiederholungen |
attempts | int : die maximale Anzahl von Versuchen |
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 dies länger als eine angegebene Zeit dauert, und zum Umleiten der Ausgabe in Dateien, falls angegeben.
Parameter | |
---|---|
timeout | long : Timeout maximale Wartezeit in ms. 0 bedeutet kein Timeout. |
input | String : die stdin-Eingabe, die an den Prozess übergeben werden soll |
stdoutFile | File : ERROR(/File) wohin die std-Ausgabe 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 stdin-Eingabe erfordert, und zum Abbrechen, wenn dies länger als eine angegebene Zeit dauert.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms |
input | String : die stdin-Eingabe, 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 stdin-Eingabe erfordert, und zum Abbrechen, wenn dies länger als eine angegebene Zeit dauert.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms |
input | String : die stdin-Eingabe, 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 das Umleiten von Stdin aus einer Datei erfordert, und das Abbrechen, wenn es länger als eine angegebene Zeit dauert.
Parameter | |
---|---|
timeout | long : maximale Wartezeit in ms |
inputRedirect | File : der ERROR(/File) zum Umleiten als Standardeingabe mit ERROR(/ProcessBuilder#redirectInput()) . 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)
Blockiert und führt eine Operation mehrmals aus, bis sie erfolgreich ist.
Parameter | |
---|---|
opTimeout | long : maximale Wartezeit in ms für einen Operationsversuch |
pollInterval | long : Wartezeit zwischen Befehlswiederholungen |
attempts | int : die maximale Anzahl von Versuchen |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult zum Ausführen |
Kehrt zurück | |
---|---|
boolean | true , wenn der Vorgang erfolgreich abgeschlossen wurde, bevor die 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 der Umgebungsvariable eine höhere Priorität hat als das Setzen. Standardmäßig hat das Deaktivieren 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 zurückgesetzt wird. Kann nicht auf der standardmäßigen IRunUtil
Instanz verwendet werden.
Parameter | |
---|---|
priority | IRunUtil.EnvPriority |
setInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Nach einiger Wartezeit als unterbrechbar setzen. ERROR(/CommandScheduler#shutdownHard())
um zu erzwingen, dass wir schließlich beenden.
Parameter | |
---|---|
thread | Thread : Der Thread, der unterbrechbar wird. |
timeMs | long : Wartezeit, bevor unterbrechbar eingestellt wird. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Erlauben Sie die Verwendung von Linux-'Kill'-Unterbrechungen für Prozesse, die durch #runTimed-Methoden ausgeführt werden, wenn eine Zeitüberschreitung erreicht wird. Kann nicht auf der standardmäßigen IRunUtil
Instanz verwendet werden.
Parameter | |
---|---|
interrupt | boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Stellen Sie den Standardfehlerstream so ein, dass er beim Ausführen von Systembefehlen zum Standardausgabestream umgeleitet wird. Der Anfangswert ist falsch.
Parameter | |
---|---|
redirect | boolean : neuer Wert, 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 Schlafen für eine bestimmte Zeit, wobei alle Ausnahmen ignoriert werden.
Parameter | |
---|---|
time | long : ms zu 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 können vom übergeordneten Prozess erben, daher müssen wir die Umgebungsvariable aus ERROR(/ProcessBuilder#environment())
löschen.
Parameter | |
---|---|
key | String : der Variablenname |
Siehe auch: