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

Fields

public static final String INHERITIO_PREFIX

public static final String RUNNABLE_NOTIFIER_NAME

Öffentliche Konstruktoren

RunUtil()

Erstellen Sie ein neues RunUtil-Objekt.

Öffentliche Methoden

void allowInterrupt(boolean allow)

Ermöglicht/verhindert Ausführungsunterbrechungen für den aktuellen Thread.

static IRunUtil getDefault()

Rufen Sie einen Verweis auf das Standardobjekt RunUtil ab.

void interrupt(Thread thread, String message, ErrorIdentifier errorId)

Unterbricht die laufenden/nächsten Ausführungsvorgänge für den angegebenen Thread.

void interrupt(Thread thread, String message)

Unterbricht die laufenden/nächsten Ausführungsvorgänge für den angegebenen Thread.

boolean isInterruptAllowed()

Geben Sie den Unterbrechungsstatus von RunUtil an.

Process runCmdInBackground(Redirect redirect, command)

Eine alternative runCmdInBackground(String)-Methode, die die Befehlsargumente in der Form ERROR(/List) annimmt.

Process runCmdInBackground( command)

Eine alternative runCmdInBackground(String)-Methode, die die Befehlsargumente in der Form ERROR(/List) annimmt.

Process runCmdInBackground( command, OutputStream output)

Wird ein Befehl mit einem ERROR(/OutputStream) ausgeführt, 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. Dieser 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 dieser Vorgang länger als eine bestimmte Zeit dauert, und zum Weiterleiten der Ausgabe an Dateien, falls angegeben.

CommandResult runTimedCmd(long timeout, String... command)

Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn die Ausführung 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 die Ausführung 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 und zum Abbrechen, wenn die Ausführung länger als eine angegebene Zeit dauert.

CommandResult runTimedCmdSilently(long timeout, String... command)

Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn die Ausführung 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 die Ausführung 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 dieser Vorgang länger als eine bestimmte 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 der Vorgang länger als eine angegebene Zeit dauert.

CommandResult runTimedCmdWithInput(long timeout, String input, command)

Hilfsmethode zum Ausführen eines Systembefehls, der eine stdin-Eingabe erfordert, und zum Abbrechen, wenn der Vorgang länger als eine angegebene Zeit dauert.

CommandResult runTimedCmdWithInputRedirect(long timeout, File inputRedirect, String... command)

Hilfsmethode zum Ausführen eines Systembefehls, bei dem Stdin von einer Datei umgeleitet werden muss und der abgebrochen wird, wenn dieser Vorgang länger als eine bestimmte Zeit dauert.

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, String... command)

Hilfsmethode zum Ausführen eines Systembefehls, zum Abbrechen, wenn dieser Vorgang länger als eine bestimmte 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 und zum Abbrechen, wenn die Ausführung länger als eine angegebene Zeit dauert.

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, ICacheClient cacheClient, String... command)

Hilfsmethode zum Ausführen eines Systembefehls mit Caching.

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. Dieser 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 das Deaktivieren der Umgebungsvariable beim Erstellen eines Prozesses eine höhere Priorität hat als das Festlegen der Umgebungsvariable.

void setInterruptibleInFuture(Thread thread, long timeMs)

Nach einer gewissen Wartezeit als unterbrechbar festlegen.

void setLinuxInterruptProcess(boolean interrupt)

Verwendung der Linux-"kill"-Unterbrechung bei einem Prozess zulassen, der mit #runTimed-Methoden ausgeführt wird, wenn eine Zeitüberschreitung erreicht ist.

void setRedirectStderrToStdout(boolean redirect)

Legen Sie fest, dass der Standardfehlerstream beim Ausführen von Systembefehlen zum Standardausgabestream weitergeleitet wird.

void setWorkingDir(File dir)

Legt das Arbeitsverzeichnis für Systembefehle fest.

void sleep(long time)

Hilfsmethode zum Einschlafen für eine bestimmte Zeit, wobei Ausnahmen ignoriert werden.

void unsetEnvVariable(String key)

Hebt die Festlegung einer Umgebungsvariable auf, sodass die Systembefehle ohne diese Umgebungsvariablen ausgeführt werden. Umgebungsvariablen können vom übergeordneten Prozess übernommen werden. Daher müssen wir die Umgebungsvariable aus ProcessBuilder.environment() löschen.

Fields

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

AUSFÜHRBARER_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Öffentliche Konstruktoren

RunUtil

public RunUtil ()

Erstellen Sie ein neues RunUtil-Objekt.

Öffentliche Methoden

allowInterrupt

public void allowInterrupt (boolean allow)

Ermöglicht/verhindert Ausführungsunterbrechungen 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ührungsunterbrechungen für den aktuellen Thread zulässig sind.

getDefault

public static IRunUtil getDefault ()

Rufen Sie einen Verweis auf das Standardobjekt RunUtil ab.

Dies ist hilfreich für Aufrufer, die IRunUtil ohne Anpassung verwenden möchten. Aufrufern, die eine benutzerdefinierte IRunUtil-Instanz benötigen, also entweder setEnvVariable(String, String) oder setWorkingDir(File) aufrufen müssen, wird empfohlen, eine eigene Kopie zu erstellen.

Returns
IRunUtil

unterbrechen

public void interrupt (Thread thread, 
                String message, 
                ErrorIdentifier errorId)

Unterbricht die laufenden/nächsten Ausführungsvorgänge für den angegebenen Thread. Die Ausführungsvorgänge für den angegebenen Thread geben RunInterruptedException aus.

Parameter
message String: die Nachricht für RunInterruptedException.

errorId ErrorIdentifier: Angabe der Ursache der Unterbrechung, sofern bekannt.

unterbrechen

public void interrupt (Thread thread, 
                String message)

Unterbricht die laufenden/nächsten Ausführungsvorgänge für den angegebenen Thread. Die Ausführungsvorgänge für den angegebenen Thread geben 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 die Ausführung unterbrochen werden kann, andernfalls "false".

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

Eine alternative runCmdInBackground(String)-Methode, die die Befehlsargumente in der Form ERROR(/List) annimmt.

Parameter
redirect Redirect: Die ERROR(/Redirect), die auf ProcessBuilder angewendet werden soll.

command : ERROR(/List), die den angegebenen Systembefehl und optional die auszuführenden Argumente enthält

Returns
Process den Process des ausgeführten Befehls

runCmdInBackground

public Process runCmdInBackground ( command)

Eine alternative runCmdInBackground(String)-Methode, die die Befehlsargumente in der Form ERROR(/List) annimmt.

Parameter
command : ERROR(/List), die den angegebenen Systembefehl und optional die auszuführenden Argumente enthält

Returns
Process den Process des ausgeführten Befehls

runCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

Wird ein Befehl mit einem ERROR(/OutputStream) ausgeführt, 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, der den Befehl ausführt

runCmdInBackground

public Process runCmdInBackground (String... command)

Hilfsmethode zum asynchronen Ausführen eines Systembefehls.

Wird sofort nach dem Starten des Befehls zurückgegeben.

Parameter
command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
Process den Process des ausgeführten Befehls

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                String... command)

Hilfsmethode zum asynchronen Ausführen eines Systembefehls.

Wird sofort nach dem Starten des Befehls zurückgegeben.

Parameter
redirect Redirect: Die ERROR(/Redirect), die auf ProcessBuilder angewendet werden soll.

command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
Process den Process des ausgeführten Befehls

runEscalatingTimedWiederholen

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.

Die Wartezeit zwischen Vorgangsversuchen exponentiell erhöhen. Diese Option ist für Vorgänge wie das Abfragen eines Servers vorgesehen, um ihm Zeit für die Wiederherstellung 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 Vorgangsversuchen

maxPollInterval long: die maximale Wartezeit zwischen Vorgangversuchen

maxTime long: die ungefähre Gesamtzeit, die für das weitere Ausführen des Vorgangs benötigt wird.

runnable IRunUtil.IRunnableResult: Auszuführende IRunUtil.IRunnableResult

Returns
boolean true, wenn der Vorgang vor Ablauf von „maxTime“ erfolgreich abgeschlossen wurde

runFixedTimedWiederholen

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 ms für einen einzelnen Vorgangsversuch

pollInterval long: anfängliche Wartezeit zwischen Vorgangsversuchen

maxTime long: die ungefähre Gesamtzeit, die für das weitere Ausführen des Vorgangs benötigt wird.

runnable IRunUtil.IRunnableResult: Auszuführende IRunUtil.IRunnableResult

Returns
boolean true, wenn der Vorgang vor Ablauf von „maxTime“ erfolgreich abgeschlossen wurde

runFixedTimedWiederholenWithOutputMonitor

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. Überwacht auch die Ausgabestreams auf Aktivität. Der Vorgang wird abgebrochen, wenn für eine bestimmte Zeit keine Streamaktivität festgestellt wird. Wenn für „idleOutputTimeout“ null festgelegt ist, erfolgt kein Streammonitoring.

Parameter
opTimeout long: maximale Wartezeit in ms für einen einzelnen Vorgangsversuch

idleOutputTimeout long: maximale Wartezeit in ms auf die Ausgabe an die Ausgabestreams

pollInterval long: anfängliche Wartezeit zwischen Vorgangsversuchen

maxTime long: die ungefähre Gesamtzeit, die für das weitere Ausführen des Vorgangs benötigt wird.

runnable IRunUtil.IRunnableResult: Auszuführende IRunUtil.IRunnableResult

Returns
boolean true, wenn der Vorgang vor Ablauf von „maxTime“ erfolgreich abgeschlossen wurde

runTimed (Laufzeit)

public CommandStatus runTimed (long timeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

Blockiert und führt einen Vorgang aus. Dieser Vorgang wird abgebrochen, wenn er länger als eine angegebene Zeit dauert.

Parameter
timeout long: maximale Wartezeit in ms

runnable IRunUtil.IRunnableResult: Auszuführende IRunUtil.IRunnableResult

logErrors boolean: Protokolliert Fehler bei oder ohne Ausnahme.

Returns
CommandStatus das Ergebnis des Vorgangs CommandStatus.

runTimedCmd

public CommandResult runTimedCmd (long timeout, 
                OutputStream stdout, 
                OutputStream stderr, 
                String... command)

Hilfsmethode zum Ausführen eines Systembefehls, zum Abbrechen, wenn dieser Vorgang länger als eine bestimmte 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 offen.

Parameter
timeout long: Maximale Wartezeit in ms. 0 bedeutet, dass es kein Zeitlimit gibt.

stdout OutputStream: ERROR(/OutputStream), an den die Standardausgabe weitergeleitet wird. Kann null sein.

stderr OutputStream: ERROR(/OutputStream), an den die Fehlerausgabe weitergeleitet wird. Kann null sein.

command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
CommandResult CommandResult mit dem Ergebnis der Befehlsausführung

runTimedCmd

public CommandResult runTimedCmd (long timeout, 
                String... command)

Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn die Ausführung länger als eine angegebene Zeit dauert.

Parameter
timeout long: maximale Wartezeit in ms. 0 bedeutet, dass es kein Zeitlimit gibt.

command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
CommandResult CommandResult mit dem Ergebnis der Befehlsausführung

runTimedCmdRepeat

public CommandResult runTimedCmdRetry (long timeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn die Ausführung 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 für den Versuch

command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
CommandResult CommandResult mit dem Ergebnis der Befehlsausführung

runTimedCmdRepeatWithOutputMonitor

public CommandResult runTimedCmdRetryWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn die Ausführung länger als eine angegebene Zeit dauert. Überwacht auch die Ausgabestreams auf Aktivität. Der Vorgang wird abgebrochen, wenn für eine bestimmte Zeit keine Streamaktivität festgestellt wird. Wenn „IdleOutputTimeout“ auf null gesetzt ist, findet kein Stream-Monitoring statt.

Parameter
timeout long: maximale Wartezeit in ms für jeden Versuch

idleOutputTimeout long: maximale Wartezeit in ms auf die Ausgabe an die Ausgabestreams

retryInterval long: Wartezeit zwischen Befehlswiederholungen

attempts int: die maximale Anzahl von Versuchen für den Versuch

command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
CommandResult CommandResult mit dem Ergebnis der Befehlsausführung

runTimedCmdSilently

public CommandResult runTimedCmdSilently (long timeout, 
                String... command)

Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn die Ausführung 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 die auszuführenden Argumente

Returns
CommandResult CommandResult mit dem Ergebnis der Befehlsausführung

runTimedCmdSilentlyWiederholen

public CommandResult runTimedCmdSilentlyRetry (long timeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn die Ausführung länger als eine angegebene Zeit dauert. Ähnlich wie runTimedCmdRetry(long, long, int, String[]), protokolliert jedoch bei einer Ausnahme keine Fehler.

Parameter
timeout long: maximale Wartezeit in ms

retryInterval long: Wartezeit zwischen Befehlswiederholungen

attempts int: die maximale Anzahl von Versuchen für den Versuch

command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
CommandResult CommandResult mit dem Ergebnis der 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 dieser Vorgang länger als eine bestimmte Zeit dauert, und zum Weiterleiten der Ausgabe an Dateien, falls angegeben.

Parameter
timeout long: Maximale Wartezeit in ms. 0 bedeutet, dass es kein Zeitlimit gibt.

input String: die an die Verarbeitung zu übergebende stdin-Eingabe

stdoutFile File: ERROR(/File), an den die Standardausgabe weitergeleitet wird. Kann null sein.

stderrFile File: ERROR(/File), an den die Fehlerausgabe weitergeleitet wird. Kann null sein.

command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
CommandResult CommandResult mit dem Ergebnis der Befehlsausführung

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 der Vorgang länger als eine angegebene Zeit dauert.

Parameter
timeout long: maximale Wartezeit in ms

input String: die an die Verarbeitung zu übergebende stdin-Eingabe

command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
CommandResult CommandResult mit dem Ergebnis der Befehlsausführung

runTimedCmdWithInput

public CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                 command)

Hilfsmethode zum Ausführen eines Systembefehls, der eine stdin-Eingabe erfordert, und zum Abbrechen, wenn der Vorgang länger als eine angegebene Zeit dauert.

Parameter
timeout long: maximale Wartezeit in ms

input String: die an die Verarbeitung zu übergebende stdin-Eingabe

command : ERROR(/List), die den Systembefehl und optional die auszuführenden Argumente enthält

Returns
CommandResult CommandResult mit dem Ergebnis der Befehlsausführung

runTimedCmdWithInputWeiterleitung

public CommandResult runTimedCmdWithInputRedirect (long timeout, 
                File inputRedirect, 
                String... command)

Hilfsmethode zum Ausführen eines Systembefehls, bei dem Stdin von einer Datei umgeleitet werden muss und der abgebrochen wird, wenn dieser Vorgang länger als eine bestimmte Zeit dauert.

Parameter
timeout long: maximale Wartezeit in ms

inputRedirect File: Der ERROR(/File), der als Standardeingabe mit ProcessBuilder.redirectInput() weitergeleitet werden soll. Wenn null, wird stdin nicht weitergeleitet.

command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
CommandResult CommandResult mit dem Ergebnis der 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 dieser Vorgang länger als eine bestimmte 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 offen.

Parameter
timeout long: Maximale Wartezeit in ms. 0 bedeutet, dass es kein Zeitlimit gibt.

idleOutputTimeout long: maximale Wartezeit in ms auf die Ausgabe an die Ausgabestreams

stdout OutputStream: ERROR(/OutputStream), an den die Standardausgabe weitergeleitet wird. Kann null sein.

stderr OutputStream: ERROR(/OutputStream), an den die Fehlerausgabe weitergeleitet wird. Kann null sein.

command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
CommandResult CommandResult mit dem Ergebnis der Befehlsausführung

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                String... command)

Hilfsmethode zum Ausführen eines Systembefehls und zum Abbrechen, wenn die Ausführung länger als eine angegebene Zeit dauert. Überwacht auch die Ausgabestreams auf Aktivität. Der Vorgang wird abgebrochen, wenn für eine bestimmte Zeit keine Streamaktivität festgestellt wird. Wenn „IdleOutputTimeout“ auf null gesetzt ist, findet kein Stream-Monitoring statt.

Parameter
timeout long: maximale Wartezeit in ms. 0 bedeutet, dass es kein Zeitlimit gibt.

idleOutputTimeout long: maximale Wartezeit in ms auf die Ausgabe an die Ausgabestreams

command String: der angegebene Systembefehl und optional die auszuführenden Argumente

Returns
CommandResult CommandResult mit dem Ergebnis der Befehlsausführung

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                OutputStream stdout, 
                OutputStream stderr, 
                ICacheClient cacheClient, 
                String... command)

Hilfsmethode zum Ausführen eines Systembefehls mit Caching.

Wenn cacheClient angegeben ist, wird das Caching aktiviert. Wenn der Cache verfügbar ist, wird das im Cache gespeicherte Ergebnis zurückgegeben. Andernfalls wird runTimedCmdWithOutputMonitor(long, long, OutputStream, OutputStream, String) zum Ausführen des Befehls verwendet und das Ergebnis wird zum Speichern im Cache hochgeladen.

Parameter
timeout long: Maximale Wartezeit in ms. 0 bedeutet, dass es kein Zeitlimit gibt.

idleOutputTimeout long: maximale Wartezeit in ms auf die Ausgabe an die Ausgabestreams.

stdout OutputStream: ERROR(/OutputStream), an den die Standardausgabe weitergeleitet wird. Kann null sein.

stderr OutputStream: ERROR(/OutputStream), an den die Fehlerausgabe weitergeleitet wird. Kann null sein.

cacheClient ICacheClient: Eine Instanz von ICacheClient, die für das Caching verwendet wird.

command String: der angegebene Systembefehl und optional die auszuführenden Argumente.

Returns
CommandResult Eine CommandResult mit dem Ergebnis der Befehlsausführung.

runTimedWiederholen

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 ms für einen Vorgangsversuch

pollInterval long: Wartezeit zwischen Befehlswiederholungen

attempts int: die maximale Anzahl von Versuchen für den Versuch

runnable IRunUtil.IRunnableResult: Auszuführende IRunUtil.IRunnableResult

Returns
boolean true, wenn der Vorgang erfolgreich abgeschlossen wurde, bevor Versuche erreicht wurden.

runTimedWiederholenWithOutputMonitor

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. Überwacht auch die Ausgabestreams auf Aktivität. Der Vorgang wird abgebrochen, wenn für eine bestimmte Zeit keine Streamaktivität festgestellt wird. Wenn für „idleOutputTimeout“ null festgelegt ist, erfolgt kein Streammonitoring.

Parameter
opTimeout long: maximale Wartezeit in ms für einen Vorgangsversuch

idleOutputTimeout long: maximale Wartezeit in ms auf die Ausgabe an die Ausgabestreams

pollInterval long: Wartezeit zwischen Befehlswiederholungen

attempts int: die maximale Anzahl von Versuchen für den Versuch

runnable IRunUtil.IRunnableResult: Auszuführende IRunUtil.IRunnableResult

Returns
boolean true, wenn der Vorgang erfolgreich abgeschlossen wurde, bevor Versuche erreicht wurden.

runTimedWithOutputMonitor

public CommandStatus runTimedWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

Blockiert und führt einen Vorgang aus. Dieser Vorgang wird abgebrochen, wenn er länger als eine angegebene Zeit dauert. Überwacht auch die Ausgabestreams auf Aktivität. Der Vorgang wird abgebrochen, wenn für eine bestimmte Zeit keine Streamaktivität festgestellt wird. Wenn für „idleOutputTimeout“ null festgelegt ist, erfolgt kein Streammonitoring.

Parameter
timeout long: maximale Wartezeit in ms

idleOutputTimeout long: maximale Wartezeit in ms auf die Ausgabe an die Ausgabestreams

runnable IRunUtil.IRunnableResult: Auszuführende IRunUtil.IRunnableResult

logErrors boolean: Protokolliert Fehler bei oder ohne Ausnahme.

Returns
CommandStatus das Ergebnis des Vorgangs CommandStatus.

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 Wert der Variablen

setEnvVariablePriority (setEnvVariablePriorität)

public void setEnvVariablePriority (IRunUtil.EnvPriority priority)

Entscheiden Sie, ob das Deaktivieren der Umgebungsvariable beim Erstellen eines Prozesses eine höhere Priorität hat als das Festlegen der Umgebungsvariable. Standardmäßig hat das Aufheben der Einstellung eine höhere Priorität. Das bedeutet, wenn versucht wird, eine Variable mit demselben Namen festzulegen, erfolgt dies nicht, da die Variable nicht mehr definiert 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 die Beendigung zu erzwingen.

Parameter
thread Thread: der Thread, der unterbrochen werden soll.

timeMs long: Wartezeit, bevor die Einstellung „Unterbrechbar“ festgelegt wird.

setLinuxInterruptProcess

public void setLinuxInterruptProcess (boolean interrupt)

Verwendung der Linux-"kill"-Unterbrechung bei einem Prozess zulassen, der mit #runTimed-Methoden ausgeführt wird, wenn eine Zeitüberschreitung erreicht ist. Kann nicht für die Standardinstanz IRunUtil verwendet werden.

Parameter
interrupt boolean

setWeiterleitungStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

Legen Sie fest, dass der Standardfehlerstream beim Ausführen von Systembefehlen zum Standardausgabestream weitergeleitet wird. Der Anfangswert ist "false".

Parameter
redirect boolean: neuer Wert dafür, ob eine Weiterleitung erfolgen 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 Einschlafen für eine bestimmte Zeit, wobei Ausnahmen ignoriert werden.

Parameter
time long: ms bis Ruhezustand. Werte kleiner oder gleich 0 werden ignoriert.

UnverankerteVariable

public void unsetEnvVariable (String key)

Hebt die Festlegung einer Umgebungsvariable auf, sodass die Systembefehle ohne diese Umgebungsvariablen 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: