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)

Lässt Laufunterbrechungen im aktuellen Thread zu oder deaktiviert sie.

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

Rufen Sie einen Verweis auf das Standard-RunUtil-Objekt ab.

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

Unterbricht die laufenden/anstehenden Ausführungsvorgänge im angegebenen Thread.

void interrupt(Thread thread, String message)

Unterbricht die laufenden/anstehenden Ausführungsvorgänge im angegebenen Thread.

boolean isInterruptAllowed()

Gibt den Unterbrechungsstatus von RunUtil an.

Process runCmdInBackground(Redirect redirect, command)

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

Process runCmdInBackground( command)

Eine alternative runCmdInBackground(String)-Methode, die die Befehlsargumente in ERROR(/List)-Form 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 und bricht ihn ab, wenn er länger als eine bestimmte Zeit dauert.

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert, und zum Weiterleiten der Ausgabe an Dateien, sofern angegeben.

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert.

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert.

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert.

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert.

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert.

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert, und zum Weiterleiten der Ausgabe an Dateien, sofern 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 bestimmte Zeit dauert.

CommandResult runTimedCmdWithInput(long timeout, String input, command)

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

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

Hilfsmethode zum Ausführen eines Systembefehls, der die Umleitung von Stdin von einer Datei erfordert, und zum Abbrechen, wenn er 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, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert, und zum Weiterleiten der Ausgabe an Dateien, sofern angegeben.

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte 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 und bricht ihn ab, wenn er länger als eine bestimmte 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)

Legen Sie fest, ob beim Erstellen eines Prozesses das Entfernen von Umgebungsvariablen eine höhere Priorität hat als das Festlegen.

void setInterruptibleInFuture(Thread thread, long timeMs)

Nach einer gewissen Wartezeit als unterbrechbar festlegen

void setLinuxInterruptProcess(boolean interrupt)

Es wird zugelassen, dass der Linux-Befehl „kill“ verwendet wird, um einen Prozess zu beenden, der über die #runTimed-Methoden ausgeführt wird, wenn ein Zeitlimit erreicht wird.

void setRedirectStderrToStdout(boolean redirect)

Legen Sie fest, dass der Standardfehlerstream beim Ausführen von Systembefehlen an den Standardausgabestream umgeleitet wird.

void setWorkingDir(File dir)

Hiermit wird das Arbeitsverzeichnis für Systembefehle festgelegt.

void sleep(long time)

Hilfsmethode, um für eine bestimmte Zeit zu schlafen und dabei alle Ausnahmen zu ignorieren.

void unsetEnvVariable(String key)

Heben Sie die Festlegung einer Umgebungsvariablen auf, damit 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.

Felder

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

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

Lässt Laufunterbrechungen im aktuellen Thread zu oder deaktiviert sie. Wenn dies zulässig ist, können Vorgänge des aktuellen Threads von anderen Threads über die Methode interrupt(Thread, String) unterbrochen werden.

Parameter
allow boolean: Gibt an, ob Ausführungsunterbrechungen 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 Standard-RunUtil-Objekt ab.

Dies ist nützlich für Aufrufer, die IRunUtil ohne Anpassung verwenden möchten. Wenn Sie eine benutzerdefinierte IRunUtil-Instanz benötigen (d. h. setEnvVariable(String, String) oder setWorkingDir(File) aufrufen müssen), sollten Sie eine eigene Kopie erstellen.

Returns
IRunUtil

Unterbrechung

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

Unterbricht die laufenden/anstehenden Ausführungsvorgänge im angegebenen Thread. Die Ausführung von Vorgängen auf dem angegebenen Thread führt zu RunInterruptedException.

Parameter
message String: die Nachricht für RunInterruptedException.

errorId ErrorIdentifier: Die Ursache der Unterbrechung, sofern bekannt.

Unterbrechung

public void interrupt (Thread thread, 
                String message)

Unterbricht die laufenden/anstehenden Ausführungsvorgänge im angegebenen Thread. Die Ausführung von Vorgängen auf dem angegebenen Thread führt zu RunInterruptedException.

Parameter
message String: die Nachricht für RunInterruptedException.

isInterruptAllowed

public boolean isInterruptAllowed ()

Gibt den Unterbrechungsstatus von RunUtil an.

Returns
boolean „true“, wenn der Ablauf unterbrochen werden kann, andernfalls „false“.

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

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

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

command : der ERROR(/List) mit dem angegebenen Systembefehl und optionalen Argumenten für die Ausführung

Returns
Process die Process des ausgeführten Befehls

runCmdInBackground

public Process runCmdInBackground ( command)

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

Parameter
command : der ERROR(/List) mit dem angegebenen Systembefehl und optionalen Argumenten für die Ausführung

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, in dem die Ausgabe gespeichert werden soll

Returns
Process Process, mit dem der Befehl ausgeführt wird

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

Die Wartezeit zwischen den Ausführungsversuchen wird exponentiell erhöht. Diese Option sollte bei Vorgängen wie dem Abfragen eines Servers verwendet werden, um ihm Zeit zur Wiederherstellung zu geben, falls er vorübergehend ausgefallen ist.

Parameter
opTimeout long: Maximale Wartezeit in Millisekunden für einen einzelnen Vorgang

initialPollInterval long: Anfangswartezeit zwischen den Vorgangsversuchen

maxPollInterval long: die maximale Wartezeit zwischen den Ausführungsversuchen

maxTime long: die ungefähre maximale Zeit, die der Vorgang wiederholt versucht werden kann

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen

Returns
boolean true, wenn der Vorgang vor Ablauf der maximalen Zeit 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 Vorgang

pollInterval long: Anfangswartezeit zwischen den Vorgangsversuchen

maxTime long: die ungefähre maximale Zeit, die der Vorgang wiederholt versucht werden kann

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen

Returns
boolean true, wenn der Vorgang vor Ablauf der maximalen Zeit 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 abgebrochen, wenn für einen bestimmten Zeitraum keine Streamaktivität festgestellt wird. Wenn „idleOutputTimeout“ auf null gesetzt ist, erfolgt kein Stream-Monitoring.

Parameter
opTimeout long: Maximale Wartezeit in Millisekunden für einen einzelnen Vorgang

idleOutputTimeout long: Maximale Wartezeit in Millisekunden für die Ausgabe in den Ausgabestreams

pollInterval long: Anfangswartezeit zwischen den Vorgangsversuchen

maxTime long: die ungefähre maximale Zeit, die der Vorgang wiederholt versucht werden kann

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen

Returns
boolean true, wenn der Vorgang vor Ablauf der maximalen Zeit erfolgreich abgeschlossen wurde

runTimed

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

Blockiert und führt einen Vorgang aus und bricht ihn ab, wenn er länger als eine bestimmte Zeit dauert.

Parameter
timeout long: Maximale Wartezeit in ms

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen

logErrors boolean: Ob Fehler bei einer Ausnahme protokolliert werden sollen oder nicht.

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, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert, und zum Weiterleiten der Ausgabe an Dateien, sofern angegeben. Wenn ERROR(/OutputStream) auf diese Weise angegeben werden, bleiben sie am Ende der Funktion geöffnet.

Parameter
timeout long: timeout: maximale Wartezeit in ms. „0“ bedeutet kein Zeitlimit.

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

stderr OutputStream: ERROR(/OutputStream), an das 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 Befehls

runTimedCmd

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert.

Parameter
timeout long: Maximale Wartezeit in ms. „0“ bedeutet, dass keine Zeitüberschreitung festgelegt ist.

command String: Der angegebene Systembefehl und optional Argumente für exec

Returns
CommandResult CommandResult mit dem Ergebnis des Befehls

runTimedCmdRetry

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert.

Parameter
timeout long: Maximale Wartezeit in Millisekunden für jeden Versuch

retryInterval long: Wartezeit zwischen den Befehlswiederholungen

attempts int: die maximale Anzahl von Versuchen

command String: Der angegebene Systembefehl und optional Argumente für exec

Returns
CommandResult CommandResult mit dem Ergebnis des Befehls

runTimedCmdRetryWithOutputMonitor

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert. Außerdem werden die Ausgabestreams auf Aktivität überwacht und der Vorgang abgebrochen, wenn für einen bestimmten Zeitraum keine Streamaktivität festgestellt wird. Wenn „idleOutputTimeout“ auf null gesetzt ist, erfolgt kein Stream-Monitoring.

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 den Befehlswiederholungen

attempts int: die maximale Anzahl von Versuchen

command String: Der angegebene Systembefehl und optional Argumente für exec

Returns
CommandResult CommandResult mit dem Ergebnis des Befehls

runTimedCmdSilently

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert. Ähnlich wie runTimedCmd(long, String), protokolliert aber keine Fehler bei einer Ausnahme.

Parameter
timeout long: Maximale Wartezeit in ms

command String: Der angegebene Systembefehl und optional Argumente für exec

Returns
CommandResult CommandResult mit dem Ergebnis des Befehls

runTimedCmdSilentlyRetry

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert. Ähnlich wie runTimedCmdRetry(long, long, int, String[]), protokolliert aber keine Fehler bei Ausnahmen.

Parameter
timeout long: Maximale Wartezeit in ms

retryInterval long: Wartezeit zwischen den Befehlswiederholungen

attempts int: die maximale Anzahl von Versuchen

command String: Der angegebene Systembefehl und optional Argumente für exec

Returns
CommandResult CommandResult mit dem Ergebnis des Befehls

runTimedCmdWithInput

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert, und zum Weiterleiten der Ausgabe an Dateien, sofern angegeben.

Parameter
timeout long: timeout: maximale Wartezeit in ms. „0“ bedeutet kein Zeitlimit.

input String: die stdin-Eingabe, die an den Prozess übergeben werden soll

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

stderrFile File: ERROR(/File), an das 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 Befehls

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 er länger als eine bestimmte Zeit dauert.

Parameter
timeout long: Maximale Wartezeit in ms

input String: die stdin-Eingabe, die an den Prozess übergeben werden soll

command String: Der angegebene Systembefehl und optional Argumente für exec

Returns
CommandResult CommandResult mit dem Ergebnis des Befehls

runTimedCmdWithInput

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

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

Parameter
timeout long: Maximale Wartezeit in ms

input String: die stdin-Eingabe, die an den Prozess übergeben werden soll

command : ERROR(/List) mit dem Systembefehl und optional Argumenten für die Ausführung

Returns
CommandResult CommandResult mit dem Ergebnis des Befehls

runTimedCmdWithInputRedirect

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

Hilfsmethode zum Ausführen eines Systembefehls, der die Umleitung von Stdin von einer Datei erfordert, und zum Abbrechen, wenn er länger als eine bestimmte Zeit dauert.

Parameter
timeout long: Maximale Wartezeit in ms

inputRedirect File: die ERROR(/File), die mit ProcessBuilder.redirectInput() als Standardeingabe weitergeleitet werden soll. Wenn „null“ angegeben ist, wird stdin nicht umgeleitet.

command String: Der angegebene Systembefehl und optional Argumente für exec

Returns
CommandResult CommandResult mit dem Ergebnis des Befehls

runTimedCmdWithOutputMonitor

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert, und zum Weiterleiten der Ausgabe an Dateien, sofern angegeben. Wenn ERROR(/OutputStream) auf diese Weise angegeben werden, bleiben sie am Ende der Funktion geöffnet.

Parameter
timeout long: timeout: maximale Wartezeit in ms. „0“ bedeutet kein Zeitlimit.

idleOutputTimeout long: Maximale Wartezeit in Millisekunden für die Ausgabe in den Ausgabestreams

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

stderr OutputStream: ERROR(/OutputStream), an das 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 Befehls

runTimedCmdWithOutputMonitor

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

Hilfsmethode zum Ausführen eines Systembefehls, der abgebrochen wird, wenn er länger als eine bestimmte Zeit dauert. Außerdem werden die Ausgabestreams auf Aktivität überwacht und der Vorgang abgebrochen, wenn für einen bestimmten Zeitraum keine Streamaktivität festgestellt wird. Wenn „idleOutputTimeout“ auf null gesetzt ist, erfolgt kein Stream-Monitoring.

Parameter
timeout long: Maximale Wartezeit in ms. „0“ bedeutet, dass keine Zeitüberschreitung festgelegt ist.

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 Befehls

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 Vorgang

pollInterval long: Wartezeit zwischen den Befehlswiederholungen

attempts int: die maximale Anzahl von Versuchen

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen

Returns
boolean true, wenn der Vorgang vor Erreichen der Anzahl der Versuche erfolgreich abgeschlossen wurde.

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 abgebrochen, wenn für einen bestimmten Zeitraum keine Streamaktivität festgestellt wird. Wenn „idleOutputTimeout“ auf null gesetzt ist, erfolgt kein Stream-Monitoring.

Parameter
opTimeout long: Maximale Wartezeit in Millisekunden für einen Vorgang

idleOutputTimeout long: Maximale Wartezeit in Millisekunden für die Ausgabe in den Ausgabestreams

pollInterval long: Wartezeit zwischen den Befehlswiederholungen

attempts int: die maximale Anzahl von Versuchen

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen

Returns
boolean true, wenn der Vorgang vor Erreichen der Anzahl der Versuche erfolgreich abgeschlossen wurde.

runTimedWithOutputMonitor

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

Blockiert und führt einen Vorgang aus und bricht ihn ab, wenn er länger als eine bestimmte Zeit dauert. Außerdem werden die Ausgabestreams auf Aktivität überwacht und der Vorgang abgebrochen, wenn für einen bestimmten Zeitraum keine Streamaktivität festgestellt wird. Wenn „idleOutputTimeout“ auf null gesetzt ist, erfolgt kein Stream-Monitoring.

Parameter
timeout long: Maximale Wartezeit in ms

idleOutputTimeout long: Maximale Wartezeit in Millisekunden für die Ausgabe in den Ausgabestreams

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult zum Ausführen

logErrors boolean: Ob Fehler bei einer Ausnahme protokolliert werden sollen oder nicht.

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: den Variablennamen

value String: den Variablenwert

setEnvVariablePriority

public void setEnvVariablePriority (IRunUtil.EnvPriority priority)

Legen Sie fest, ob beim Erstellen eines Prozesses das Entfernen von Umgebungsvariablen eine höhere Priorität hat als das Festlegen. Standardmäßig hat das Entfernen einer Variablen eine höhere Priorität. Das bedeutet, dass ein Versuch, eine Variable mit demselben Namen festzulegen, fehlschlägt, da die Variable entfernt wird. Kann nicht für die Standard-IRunUtil-Instanz 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 Schließung zu erzwingen.

Parameter
thread Thread: Der Thread, der unterbrochen werden kann.

timeMs long: Zeit, die gewartet werden soll, bevor die Funktion „Unterbrechbar“ festgelegt wird.

setLinuxInterruptProcess

public void setLinuxInterruptProcess (boolean interrupt)

Es wird zugelassen, dass der Linux-Befehl „kill“ verwendet wird, um einen Prozess zu beenden, der über die #runTimed-Methoden ausgeführt wird, wenn ein Zeitlimit erreicht wird. Kann nicht für die Standard-IRunUtil-Instanz verwendet werden.

Parameter
interrupt boolean

setRedirectStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

Legen Sie fest, dass der Standardfehlerstream beim Ausführen von Systembefehlen an den Standardausgabestream umgeleitet wird. Der Standardwert ist „false“.

Parameter
redirect boolean: neuer Wert für die Weiterleitung

setWorkingDir

public void setWorkingDir (File dir)

Hiermit wird das Arbeitsverzeichnis für Systembefehle festgelegt.

Parameter
dir File: das Arbeitsverzeichnis

Schlafen

public void sleep (long time)

Hilfsmethode, um für eine bestimmte Zeit zu schlafen und dabei alle Ausnahmen zu ignorieren.

Parameter
time long: Zeit in Millisekunden, nach der der Modus „Ruhe“ aktiviert wird. Werte unter oder gleich 0 werden ignoriert.

unsetEnvVariable

public void unsetEnvVariable (String key)

Heben Sie die Festlegung einer Umgebungsvariablen auf, damit 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: den Variablennamen

Weitere Informationen