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
Konstanten | |
|---|---|
String |
INHERITIO_PREFIX
|
String |
RUNNABLE_NOTIFIER_NAME
|
Öffentliche Konstruktoren | |
|---|---|
RunUtil()
Erstellen Sie ein neues |
|
RunUtil(boolean inheritEnvVars)
|
|
Öffentliche Methoden | |
|---|---|
void
|
allowInterrupt(boolean allow)
Ermöglicht/verhindert Unterbrechungen der Ausführung im aktuellen Thread. |
ProcessBuilder
|
createProcessBuilder(Redirect redirect,
|
static
IRunUtil
|
getDefault()
Rufen Sie einen Verweis auf das Standardobjekt |
void
|
interrupt(Thread thread, String message, ErrorIdentifier errorId)
Unterbricht die laufenden/bevorstehenden Ausführungsvorgänge im angegebenen Thread. |
void
|
interrupt(Thread thread, String message)
Unterbricht die laufenden/bevorstehenden Ausführungsvorgänge im angegebenen Thread. |
boolean
|
isInterruptAllowed()
Geben Sie den Unterbrechungsstatus von RunUtil an. |
Process
|
runCmdInBackground(Redirect redirect,
Eine alternative |
Process
|
runCmdInBackground(
Eine alternative |
Process
|
runCmdInBackground(
Wenn Sie einen Befehl 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 einen Vorgang mehrmals aus, bis er erfolgreich ist. |
boolean
|
runFixedTimedRetry(long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist. |
boolean
|
runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist. |
CommandStatus
|
runTimed(long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blockiert und führt einen Vorgang aus. Der Vorgang wird abgebrochen, 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 Weiterleiten der Ausgabe an Dateien, falls angegeben. |
CommandResult
|
runTimedCmd(long timeout, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie länger als eine angegebene Zeit dauert. |
CommandResult
|
runTimedCmdRetry(long timeout, long retryInterval, int attempts, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie länger als eine angegebene Zeit dauert. |
CommandResult
|
runTimedCmdRetryWithOutputMonitor(long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie länger als eine angegebene Zeit dauert. |
CommandResult
|
runTimedCmdSilently(long timeout, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie länger als eine angegebene Zeit dauert. |
CommandResult
|
runTimedCmdSilentlyRetry(long timeout, long retryInterval, int attempts, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie 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 Weiterleiten der Ausgabe an 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 er länger als eine angegebene Zeit dauert. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input,
Hilfsmethode zum Ausführen eines Systembefehls, für den eine stdin-Eingabe erforderlich ist. Der Vorgang wird abgebrochen, wenn er länger als eine angegebene Zeit dauert. |
CommandResult
|
runTimedCmdWithInputRedirect(long timeout, File inputRedirect, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, für den Stdin aus einer Datei umgeleitet werden muss, und zum Abbrechen, wenn er länger als eine angegebene Zeit dauert. |
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, 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 Weiterleiten der Ausgabe an Dateien, falls angegeben. |
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie länger als eine angegebene Zeit dauert. |
boolean
|
runTimedRetry(long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist. |
boolean
|
runTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist. |
CommandStatus
|
runTimedWithOutputMonitor(long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blockiert und führt einen Vorgang aus. Der Vorgang wird abgebrochen, wenn er länger als eine angegebene Zeit dauert. |
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 Aufheben der Festlegung von Umgebungsvariablen eine höhere Priorität hat als das Festlegen von Umgebungsvariablen. |
void
|
setInterruptibleInFuture(Thread thread, long timeMs)
Nach einer gewissen Wartezeit als unterbrechbar festlegen. |
void
|
setLinuxInterruptProcess(boolean interrupt)
Ermögliche die Verwendung der Linux-Unterbrechung „kill“ für Prozesse, die über #runTimed-Methoden ausgeführt werden, wenn ein Zeitlimit erreicht wird. |
void
|
setRedirectStderrToStdout(boolean redirect)
Legt den Standardfehlerstream so fest, dass er beim Ausführen von Systembefehlen in den Standardausgabestream umgeleitet wird. |
void
|
setWorkingDir(File dir)
Legt das Arbeitsverzeichnis für Systembefehle fest. |
void
|
sleep(long time)
Hilfsmethode zum Schlafen für einen bestimmten Zeitraum, wobei alle Ausnahmen ignoriert werden. |
void
|
unsetEnvVariable(String key)
Hebt die Festlegung einer Umgebungsvariable auf, sodass die Systembefehle ohne diese Umgebungsvariable ausgeführt werden.
Umgebungsvariablen können vom übergeordneten Prozess übernommen werden. Daher müssen wir die Umgebungsvariable aus |
Konstanten
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
Konstanter Wert: "inheritio-"
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Konstanter Wert: "RunnableNotifier"
Öffentliche Konstruktoren
RunUtil
public RunUtil (boolean inheritEnvVars)
| Parameter | |
|---|---|
inheritEnvVars |
boolean |
Öffentliche Methoden
allowInterrupt
public void allowInterrupt (boolean allow)
Ermöglicht/verhindert Unterbrechungen der Ausführung im aktuellen Thread. Wenn dies zulässig ist, können Vorgänge des aktuellen Threads über die Methode interrupt(Thread, String) von anderen Threads unterbrochen werden.
| Parameter | |
|---|---|
allow |
boolean: Gibt an, ob Unterbrechungen des Laufs im aktuellen Thread zulässig sind. |
createProcessBuilder
public ProcessBuilder createProcessBuilder (Redirect redirect,
commandList,
boolean enableCache) | Parameter | |
|---|---|
redirect |
Redirect |
commandList |
|
enableCache |
boolean |
| Returns | |
|---|---|
ProcessBuilder |
|
getDefault
public static IRunUtil getDefault ()
Rufen Sie einen Verweis auf das Standardobjekt RunUtil ab.
Dies ist nützlich für Anrufer, die IRunUtil ohne Anpassung verwenden möchten.
Es wird empfohlen, dass Aufrufer, die eine benutzerdefinierte IRunUtil-Instanz benötigen (d. h. entweder setEnvVariable(String, String) oder setWorkingDir(File) aufrufen müssen), eine eigene Kopie erstellen.
| Returns | |
|---|---|
IRunUtil |
|
unterbrechen
public void interrupt (Thread thread,
String message,
ErrorIdentifier errorId)Unterbricht die laufenden/bevorstehenden Ausführungsvorgänge im angegebenen Thread. Die Ausführung von Vorgängen für den angegebenen Thread löst RunInterruptedException aus.
| Parameter | |
|---|---|
message |
String: die Nachricht für RunInterruptedException. |
errorId |
ErrorIdentifier: Gibt die Ursache der Unterbrechung an, sofern bekannt. |
unterbrechen
public void interrupt (Thread thread,
String message)Unterbricht die laufenden/bevorstehenden Ausführungsvorgänge im angegebenen Thread. Die Ausführung von Vorgängen für den angegebenen Thread löst RunInterruptedException aus.
| Parameter | |
|---|---|
message |
String: die Nachricht für RunInterruptedException. |
isInterruptAllowed
public boolean isInterruptAllowed ()
Geben Sie den Unterbrechungsstatus von RunUtil an.
| Returns | |
|---|---|
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 Format ERROR(/List) akzeptiert.
| Parameter | |
|---|---|
redirect |
Redirect: Die ERROR(/Redirect), die auf die ProcessBuilder angewendet werden soll. |
command |
: das ERROR(/List) mit dem angegebenen Systembefehl und optionalen Argumenten, die ausgeführt werden sollen |
| Returns | |
|---|---|
Process |
die Process des ausgeführten Befehls |
runCmdInBackground
public Process runCmdInBackground (command)
Eine alternative runCmdInBackground(String)-Methode, die die Befehlsargumente im Format ERROR(/List) akzeptiert.
| Parameter | |
|---|---|
command |
: das ERROR(/List) mit dem angegebenen Systembefehl und optionalen Argumenten, die ausgeführt werden sollen |
| Returns | |
|---|---|
Process |
die Process des ausgeführten Befehls |
runCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
Wenn Sie einen Befehl mit einem ERROR(/OutputStream) ausführen, wird die Ausgabe des Befehls protokolliert.
Stdout und stderr werden zusammengeführt.
| Parameter | |
|---|---|
command |
: der auszuführende Befehl |
output |
OutputStream: Der OutputStream zum Speichern der Ausgabe |
| Returns | |
|---|---|
Process |
Process, die den Befehl ausführt |
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“ |
| Returns | |
|---|---|
Process |
die 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: Die ERROR(/Redirect), die auf die ProcessBuilder angewendet werden soll. |
command |
String: der angegebene Systembefehl und optional Argumente für „exec“ |
| Returns | |
|---|---|
Process |
die Process des ausgeführten Befehls |
runEscalatingTimedRetry
public boolean runEscalatingTimedRetry (long opTimeout,
long initialPollInterval,
long maxPollInterval,
long maxTime,
IRunUtil.IRunnableResult runnable)Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist.
Erhöhen Sie die Wartezeit zwischen den Vorgangsversuchen exponentiell. Diese Funktion ist für Vorgänge wie das Abrufen von Daten von einem Server vorgesehen, um ihm Zeit zur Wiederherstellung zu geben, falls er vorübergehend nicht verfügbar ist.
| Parameter | |
|---|---|
opTimeout |
long: Maximale Wartezeit in Millisekunden für einen einzelnen Vorgangsversuch |
initialPollInterval |
long: Die anfängliche Wartezeit zwischen den Versuchen, den Vorgang auszuführen. |
maxPollInterval |
long: Die maximale Wartezeit zwischen Versuchen, einen Vorgang auszuführen. |
maxTime |
long: Die ungefähre maximale Gesamtzeit, in der der Vorgang wiederholt werden soll. |
runnable |
IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen |
| Returns | |
|---|---|
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)Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist.
| Parameter | |
|---|---|
opTimeout |
long: Maximale Wartezeit in Millisekunden für einen einzelnen Vorgangsversuch |
pollInterval |
long: Die anfängliche Wartezeit zwischen den Versuchen, den Vorgang auszuführen. |
maxTime |
long: Die ungefähre maximale Gesamtzeit, in der der Vorgang wiederholt werden soll. |
runnable |
IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen |
| Returns | |
|---|---|
boolean |
true, wenn der Vorgang vor Ablauf von „maxTime“ erfolgreich abgeschlossen wurde |
runFixedTimedRetryWithOutputMonitor
public boolean runFixedTimedRetryWithOutputMonitor (long opTimeout,
long idleOutputTimeout,
long pollInterval,
long maxTime,
IRunUtil.IRunnableResult runnable)Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist. Außerdem werden die Ausgabestreams auf Aktivität überwacht und der Vorgang wird abgebrochen, wenn für einen bestimmten Zeitraum keine Streamaktivität beobachtet wird. Wenn „idleOutputTimeout“ auf null gesetzt ist, erfolgt kein Stream-Monitoring.
| Parameter | |
|---|---|
opTimeout |
long: Maximale Wartezeit in Millisekunden für einen einzelnen Vorgangsversuch |
idleOutputTimeout |
long: Maximale Wartezeit in Millisekunden für die Ausgabe in den Ausgabestreams |
pollInterval |
long: Die anfängliche Wartezeit zwischen den Versuchen, den Vorgang auszuführen. |
maxTime |
long: Die ungefähre maximale Gesamtzeit, in der der Vorgang wiederholt werden soll. |
runnable |
IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen |
| Returns | |
|---|---|
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. Der Vorgang wird abgebrochen, wenn er länger als eine angegebene Zeit dauert.
| Parameter | |
|---|---|
timeout |
long: Maximale Wartezeit in Millisekunden |
runnable |
IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen |
logErrors |
boolean: Gibt an, ob Fehler bei Ausnahmen protokolliert werden sollen. |
| Returns | |
|---|---|
CommandStatus |
das CommandStatus-Ergebnis des Vorgangs. |
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 Weiterleiten der Ausgabe an Dateien, falls angegeben. Wenn ERROR(/OutputStream) auf diese Weise bereitgestellt werden, bleiben sie am Ende der Funktion geöffnet.
| Parameter | |
|---|---|
timeout |
long: Maximales Zeitlimit in Millisekunden. 0 bedeutet kein Zeitlimit. |
stdout |
OutputStream: ERROR(/OutputStream), in die die Standardausgabe weitergeleitet wird. Kann null sein. |
stderr |
OutputStream: ERROR(/OutputStream), wohin die Fehlerausgabe weitergeleitet wird. Kann null sein. |
command |
String: der angegebene Systembefehl und optional Argumente für „exec“ |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
runTimedCmd
public CommandResult runTimedCmd (long timeout, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie länger als eine angegebene Zeit dauert.
| Parameter | |
|---|---|
timeout |
long: Maximale Wartezeit in Millisekunden. 0 bedeutet kein Zeitlimit. |
command |
String: der angegebene Systembefehl und optional Argumente für „exec“ |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
runTimedCmdRetry
public CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie länger als eine angegebene Zeit dauert.
| Parameter | |
|---|---|
timeout |
long: Maximale Wartezeit in Millisekunden für jeden Versuch |
retryInterval |
long: Wartezeit zwischen Befehlsversuchen |
attempts |
int: Die maximale Anzahl der Versuche. |
command |
String: der angegebene Systembefehl und optional Argumente für „exec“ |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
runTimedCmdRetryWithOutputMonitor
public CommandResult runTimedCmdRetryWithOutputMonitor (long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie länger als eine angegebene Zeit dauert. Außerdem werden die Ausgabestreams auf Aktivität überwacht und der Vorgang wird abgebrochen, wenn für einen bestimmten Zeitraum keine Streamaktivität beobachtet wird. Wenn „idleOutputTimeout“ auf null gesetzt ist, findet keine Streamüberwachung statt.
| Parameter | |
|---|---|
timeout |
long: Maximale Wartezeit in Millisekunden für jeden Versuch |
idleOutputTimeout |
long: Maximale Wartezeit in Millisekunden für die Ausgabe in den Ausgabestreams |
retryInterval |
long: Wartezeit zwischen Befehlsversuchen |
attempts |
int: Die maximale Anzahl der Versuche. |
command |
String: der angegebene Systembefehl und optional Argumente für „exec“ |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
runTimedCmdSilently
public CommandResult runTimedCmdSilently (long timeout, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie länger als eine angegebene Zeit dauert. Ähnlich wie runTimedCmd(long, String), aber es werden keine Fehler bei Ausnahmen protokolliert.
| Parameter | |
|---|---|
timeout |
long: Maximale Wartezeit in Millisekunden |
command |
String: der angegebene Systembefehl und optional Argumente für „exec“ |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
runTimedCmdSilentlyRetry
public CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie länger als eine angegebene Zeit dauert. Ähnlich wie runTimedCmdRetry(long, long, int, String[]), aber es werden keine Fehler bei Ausnahmen protokolliert.
| Parameter | |
|---|---|
timeout |
long: Maximale Wartezeit in Millisekunden |
retryInterval |
long: Wartezeit zwischen Befehlsversuchen |
attempts |
int: Die maximale Anzahl der Versuche. |
command |
String: der angegebene Systembefehl und optional Argumente für „exec“ |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
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 Weiterleiten der Ausgabe an Dateien, falls angegeben.
| Parameter | |
|---|---|
timeout |
long: Maximales Zeitlimit in Millisekunden. 0 bedeutet kein Zeitlimit. |
input |
String: die stdin-Eingabe, die an den Prozess übergeben werden soll |
stdoutFile |
File: ERROR(/File), in die die Standardausgabe weitergeleitet wird. Kann null sein. |
stderrFile |
File: ERROR(/File), wohin die Fehlerausgabe weitergeleitet wird. Kann null sein. |
command |
String: der angegebene Systembefehl und optional Argumente für „exec“ |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, für den eine stdin-Eingabe erforderlich ist. Der Vorgang wird abgebrochen, wenn er länger als eine angegebene Zeit dauert.
| Parameter | |
|---|---|
timeout |
long: Maximale Wartezeit in Millisekunden |
input |
String: die stdin-Eingabe, die an den Prozess übergeben werden soll |
command |
String: der angegebene Systembefehl und optional Argumente für „exec“ |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Hilfsmethode zum Ausführen eines Systembefehls, für den eine stdin-Eingabe erforderlich ist. Der Vorgang wird abgebrochen, wenn er länger als eine angegebene Zeit dauert.
| Parameter | |
|---|---|
timeout |
long: Maximale Wartezeit in Millisekunden |
input |
String: die stdin-Eingabe, die an den Prozess übergeben werden soll |
command |
: ERROR(/List) mit dem Systembefehl und optionalen Argumenten für die Ausführung |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
runTimedCmdWithInputRedirect
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, für den Stdin aus einer Datei umgeleitet werden muss, und zum Abbrechen, wenn er länger als eine angegebene Zeit dauert.
| Parameter | |
|---|---|
timeout |
long: Maximale Wartezeit in Millisekunden |
inputRedirect |
File: Die ERROR(/File), die 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“ |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
runTimedCmdWithOutputMonitor
public CommandResult runTimedCmdWithOutputMonitor (long timeout, long idleOutputTimeout, 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 Weiterleiten der Ausgabe an Dateien, falls angegeben. Wenn ERROR(/OutputStream) auf diese Weise bereitgestellt werden, bleiben sie am Ende der Funktion geöffnet.
| Parameter | |
|---|---|
timeout |
long: Maximales Zeitlimit in Millisekunden. 0 bedeutet kein Zeitlimit. |
idleOutputTimeout |
long: Maximale Wartezeit in Millisekunden für die Ausgabe in den Ausgabestreams |
stdout |
OutputStream: ERROR(/OutputStream), wohin die Standardausgabe weitergeleitet wird. Kann null sein. |
stderr |
OutputStream: ERROR(/OutputStream), wohin die Fehlerausgabe weitergeleitet wird. Kann null sein. |
command |
String: der angegebene Systembefehl und optional Argumente für „exec“ |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
runTimedCmdWithOutputMonitor
public CommandResult runTimedCmdWithOutputMonitor (long timeout, long idleOutputTimeout, String... command)
Hilfsmethode zum Ausführen eines Systembefehls, die abgebrochen wird, wenn sie länger als eine angegebene Zeit dauert. Außerdem werden die Ausgabestreams auf Aktivität überwacht und der Vorgang wird abgebrochen, wenn für einen bestimmten Zeitraum keine Streamaktivität beobachtet wird. Wenn „idleOutputTimeout“ auf null gesetzt ist, findet keine Streamüberwachung statt.
| Parameter | |
|---|---|
timeout |
long: Maximale Wartezeit in Millisekunden. 0 bedeutet kein Zeitlimit. |
idleOutputTimeout |
long: Maximale Wartezeit in Millisekunden für die Ausgabe in den Ausgabestreams |
command |
String: der angegebene Systembefehl und optional Argumente für „exec“ |
| Returns | |
|---|---|
CommandResult |
CommandResult mit dem Ergebnis des Befehlsausführung |
runTimedRetry
public boolean runTimedRetry (long opTimeout,
long pollInterval,
int attempts,
IRunUtil.IRunnableResult runnable)Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist.
| Parameter | |
|---|---|
opTimeout |
long: Maximale Wartezeit in Millisekunden für einen Vorgangsversuch. |
pollInterval |
long: Wartezeit zwischen Befehlsversuchen |
attempts |
int: Die maximale Anzahl der Versuche. |
runnable |
IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen |
| Returns | |
|---|---|
boolean |
true, wenn der Vorgang erfolgreich abgeschlossen wurde, bevor die Versuche erreicht wurden. |
runTimedRetryWithOutputMonitor
public boolean runTimedRetryWithOutputMonitor (long opTimeout,
long idleOutputTimeout,
long pollInterval,
int attempts,
IRunUtil.IRunnableResult runnable)Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist. Außerdem werden die Ausgabestreams auf Aktivität überwacht und der Vorgang wird abgebrochen, wenn für einen bestimmten Zeitraum keine Streamaktivität beobachtet wird. Wenn „idleOutputTimeout“ auf null gesetzt ist, erfolgt kein Stream-Monitoring.
| Parameter | |
|---|---|
opTimeout |
long: Maximale Wartezeit in Millisekunden für einen Vorgangsversuch. |
idleOutputTimeout |
long: Maximale Wartezeit in Millisekunden für die Ausgabe in den Ausgabestreams |
pollInterval |
long: Wartezeit zwischen Befehlsversuchen |
attempts |
int: Die maximale Anzahl der Versuche. |
runnable |
IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen |
| Returns | |
|---|---|
boolean |
true, wenn der Vorgang erfolgreich abgeschlossen wurde, bevor die Versuche erreicht wurden. |
runTimedWithOutputMonitor
public CommandStatus runTimedWithOutputMonitor (long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blockiert und führt einen Vorgang aus. Der Vorgang wird abgebrochen, wenn er länger als eine angegebene Zeit dauert. Außerdem werden die Ausgabestreams auf Aktivität überwacht und der Vorgang wird abgebrochen, wenn für einen bestimmten Zeitraum keine Streamaktivität beobachtet wird. Wenn „idleOutputTimeout“ auf null gesetzt ist, erfolgt kein Stream-Monitoring.
| Parameter | |
|---|---|
timeout |
long: Maximale Wartezeit in Millisekunden |
idleOutputTimeout |
long: Maximale Wartezeit in Millisekunden für die Ausgabe in den Ausgabestreams |
runnable |
IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen |
logErrors |
boolean: Gibt an, ob Fehler bei Ausnahmen protokolliert werden sollen. |
| Returns | |
|---|---|
CommandStatus |
das CommandStatus-Ergebnis des Vorgangs. |
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 Aufheben der Festlegung von Umgebungsvariablen eine höhere Priorität hat als das Festlegen von Umgebungsvariablen.
Standardmäßig hat das Aufheben der Einstellung eine höhere Priorität. Wenn also versucht wird, eine Variable mit demselben Namen festzulegen, geschieht dies nicht, da die Einstellung der Variablen aufgehoben wird.
Kann nicht für die Standardinstanz IRunUtil verwendet werden.
| Parameter | |
|---|---|
priority |
IRunUtil.EnvPriority |
setInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread,
long timeMs)Nach einer gewissen Wartezeit als unterbrechbar festlegen.
ERROR(/CommandScheduler#shutdownHard()), um sicherzustellen, dass wir die Ausführung schließlich beenden.
| Parameter | |
|---|---|
thread |
Thread: Der Thread, der unterbrechbar wird. |
timeMs |
long: Zeit, die gewartet werden soll, bevor der Vorgang unterbrochen werden kann. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Ermögliche die Verwendung der Linux-Unterbrechung „kill“ für Prozesse, die über #runTimed-Methoden ausgeführt werden, wenn ein Zeitlimit erreicht wird.
Kann nicht für die Standardinstanz IRunUtil verwendet werden.
| Parameter | |
|---|---|
interrupt |
boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Legt fest, dass der Standardfehlerstream beim Ausführen von Systembefehlen in den Standardausgabestream umgeleitet wird. Der Anfangswert ist „false“.
| Parameter | |
|---|---|
redirect |
boolean: Neuer Wert für die Weiterleitung |
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 einen bestimmten Zeitraum, wobei alle Ausnahmen ignoriert werden.
| Parameter | |
|---|---|
time |
long: Millisekunden für den Ruhezustand. Werte kleiner oder gleich 0 werden ignoriert. |
unsetEnvVariable
public void unsetEnvVariable (String key)
Hebt die Festlegung einer Umgebungsvariable auf, sodass die Systembefehle ohne diese Umgebungsvariable ausgeführt werden.
Umgebungsvariablen können vom übergeordneten Prozess übernommen werden. Daher müssen wir die Umgebungsvariable aus ProcessBuilder.environment() löschen.
| Parameter | |
|---|---|
key |
String: der Variablenname |
Weitere Informationen