RunUtil

public class RunUtil
extends Object implements IRunUtil

java.lang.Object
😎 com.android.tradefed.util.RunUtil.


Eine Sammlung von Hilfsmethoden zum Ausführen von Vorgängen.

Zusammenfassung

Felder

public static final String INHERITIO_PREFIX

public static final String RUNNABLE_NOTIFIER_NAME

Öffentliche Konstruktoren

RunUtil()

Erstellen Sie ein neues RunUtil-Objekt.

RunUtil(boolean inheritEnvVars)

Öffentliche Methoden

void allowInterrupt(boolean allow)

Ermöglicht/nicht zulässige 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.

static void linkFile(File destRoot, String relToRoot, File target)

Verknüpft target mit einem Ort unter destRoot.

Process runCmdInBackground(Redirect redirect, command)

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

Process runCmdInBackground( command)

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

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 der Vorgang länger als eine angegebene Zeit dauert, und leitet die Ausgabe gegebenenfalls an Dateien weiter.

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

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

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

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

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

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

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

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

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

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

CommandResult runTimedCmdWithInput(long timeout, String input, File stdoutFile, File stderrFile, String... command)

Hilfsmethode zum Ausführen eines Systembefehls, zum Abbrechen, wenn der Vorgang länger als eine angegebene Zeit dauert, und leitet die Ausgabe gegebenenfalls an Dateien weiter.

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

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

CommandResult runTimedCmdWithInput(long timeout, String input, command)

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

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

Hilfsmethode zum Ausführen eines Systembefehls, bei dem Stdin von einer Datei umgeleitet werden muss, und wird abgebrochen, wenn es 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 der Vorgang länger als eine angegebene Zeit dauert, und leitet die Ausgabe gegebenenfalls an Dateien weiter.

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

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

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 beim Erstellen eines Prozesses das Deaktivieren der Umgebungsvariable höher ist. Priorität hat, als sie festzulegen.

void setInterruptibleInFuture(Thread thread, long timeMs)

Nach einer gewissen Wartezeit als unterbrechbar festlegen.

void setLinuxInterruptProcess(boolean interrupt)

Verwendung von Linux „kill“ zulassen Unterbrechung bei Prozessen, die über #runTimed Methoden ausgeführt werden, eine Zeitüberschreitung erreicht.

void setRedirectStderrToStdout(boolean redirect)

Legen Sie fest, dass der Standardfehlerstream beim Ausführen des Systems 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.

static String toRelative(File start, String target)
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()

Felder

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.

RunUtil

public RunUtil (boolean inheritEnvVars)

Parameter
inheritEnvVars boolean

Öffentliche Methoden

allowInterrupt

public void allowInterrupt (boolean allow)

Ermöglicht/nicht zulässige Ausführungsunterbrechungen für den aktuellen Thread. Führen Sie ggf. Vorgänge aus: Der aktuelle Thread kann mit der Methode interrupt(Thread, String) von anderen Threads 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, (d. h. es muss entweder setEnvVariable(String, String) oder setWorkingDir(File) eine eigene Kopie 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 Der angegebene Thread gibt 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 Der angegebene Thread gibt 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".

linkFile (Datei)

public static void linkFile (File destRoot, 
                String relToRoot, 
                File target)

Verknüpft target mit einem Ort unter destRoot.

Wenn die Zieldatei oder der Symlink bereits unter destRoot vorhanden ist, wird die Datei werden nicht verknüpft.

Parameter
destRoot File: Stamm des Ziels

relToRoot String: Der relative Pfad vom Zielverzeichnis zum Stammverzeichnis.

target File: Die Zieldatei, die verknüpft werden soll.

Ausgabe
wenn die Zieldatei nicht verknüpft werden kann.

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

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

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

command : ERROR(/List), die den angegebenen Systembefehl und optional Argumente enthält zum Ausführen

Returns
Process den Process des ausgeführten Befehls

runCmdInBackground

public Process runCmdInBackground ( command)

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

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

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. Dies ist zur Verwendung wenn Sie einen Vorgang wie das Abfragen eines Servers ausführen, damit dieser Zeit für die Wiederherstellung bleibt, falls er ist vorübergehend nicht verfügbar.

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 außerdem Ausgabestreams für Aktivität; 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 der Vorgang länger als eine angegebene Zeit dauert, und leitet die Ausgabe gegebenenfalls an Dateien weiter. Wenn ERROR(/OutputStream) auf diese Weise angegeben werden, bleiben sie am Ende der Funktion offen.

Parameter
timeout long: Maximale Wartezeit in ms. 0 bedeutet, dass es keine Zeitüberschreitung 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 Dauer länger als eine angegebene .

Parameter
timeout long: maximale Wartezeit in ms. 0 bedeutet, dass es keine Zeitüberschreitung gibt.

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

Returns
CommandResult CommandResult mit dem Ergebnis der Befehlsausführung

runTimedCmdWiederholen

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

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

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 Dauer länger als eine angegebene . Überwacht auch die Ausgabestreams auf Aktivität; der Vorgang wird abgebrochen, wenn keine Streamaktivität für einen bestimmten Zeitraum beobachtet werden. Wenn „IdleOutputTimeout“ auf null gesetzt ist, wird der Stream nicht überwacht erfolgt.

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 Dauer länger als eine angegebene . Ähnlich wie runTimedCmd(long, String), protokolliert jedoch keine Fehler unter 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 Dauer länger als eine angegebene . Ähnlich wie runTimedCmdRetry(long, long, int, String[]), aber protokolliert bei 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 der Vorgang länger als eine angegebene Zeit dauert, und leitet die Ausgabe gegebenenfalls an Dateien weiter.

Parameter
timeout long: Maximale Wartezeit in ms. 0 bedeutet, dass es keine Zeitüberschreitung 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, falls sie dauert länger als die angegebene Zeit.

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, falls sie dauert länger als die angegebene Zeit.

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 wird abgebrochen, wenn es länger als eine angegebene 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 der Vorgang länger als eine angegebene Zeit dauert, und leitet die Ausgabe gegebenenfalls an Dateien weiter. Wenn ERROR(/OutputStream) auf diese Weise angegeben werden, bleiben sie am Ende der Funktion offen.

Parameter
timeout long: Maximale Wartezeit in ms. 0 bedeutet, dass es keine Zeitüberschreitung 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 Dauer länger als eine angegebene . Überwacht auch die Ausgabestreams auf Aktivität; der Vorgang wird abgebrochen, wenn keine Streamaktivität für einen bestimmten Zeitraum beobachtet werden. Wenn „IdleOutputTimeout“ auf null gesetzt ist, wird der Stream nicht überwacht erfolgt.

Parameter
timeout long: maximale Wartezeit in ms. 0 bedeutet, dass es keine Zeitüberschreitung 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 runTimedCmdWithOutputMonitor(long, long, OutputStream, OutputStream, String) wird verwendet, um den Befehl auszuführen, und das Ergebnis wird für das Caching hochgeladen.

Parameter
timeout long: Maximale Wartezeit in ms. 0 bedeutet, dass es keine Zeitüberschreitung 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 außerdem Ausgabestreams für Aktivität; 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. Ebenfalls überwacht die Ausgabestreams auf Aktivität. Der Vorgang wird abgebrochen, wenn für einen Zeitraum zu einer bestimmten Zeit. 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 beim Erstellen eines Prozesses das Deaktivieren der Umgebungsvariable höher ist. Priorität hat, als sie festzulegen. Standardmäßig hat das Aufheben der Einstellung eine höhere Priorität, d. h., wenn beim Versuch, eine Variable mit der festgelegt wird, kann dies nicht passieren, 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 von Linux „kill“ zulassen Unterbrechung bei Prozessen, die über #runTimed Methoden ausgeführt werden, eine Zeitüberschreitung erreicht. 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 des Systems 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 zum Ruhemodus. Werte kleiner oder gleich 0 werden ignoriert.

ToVerwandte

public static String toRelative (File start, 
                String target)

Parameter
start File

target String

Returns
String

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

Parameter
key String: der Variablenname

Weitere Informationen: