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

RunUtil(boolean inheritEnvVars)

Öffentliche Methoden

void allowInterrupt(boolean allow)

Ermöglicht/verhindert Unterbrechungen der Ausführung im aktuellen Thread.

ProcessBuilder createProcessBuilder(Redirect redirect, commandList, boolean enableCache)
static IRunUtil getDefault()

Rufen Sie einen Verweis auf das Standardobjekt RunUtil ab.

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, command)

Eine alternative runCmdInBackground(String)-Methode, die die Befehlsargumente im Format ERROR(/List) akzeptiert.

Process runCmdInBackground( command)

Eine alternative runCmdInBackground(String)-Methode, die die Befehlsargumente im Format ERROR(/List) akzeptiert.

Process runCmdInBackground( command, OutputStream output)

Wenn Sie einen Befehl mit einem ERROR(/OutputStream) ausführen, wird die Ausgabe des Befehls protokolliert.

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

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 ProcessBuilder.environment() löschen.

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

Erstellen Sie ein neues RunUtil-Objekt.

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