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 |
Ö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 |
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,
Eine alternative |
Process
|
runCmdInBackground(
Eine alternative |
Process
|
runCmdInBackground(
Wird ein Befehl mit einem |
Process
|
runCmdInBackground(String... command)
Hilfsmethode zum asynchronen Ausführen eines Systembefehls. |
Process
|
runCmdInBackground(Redirect redirect, String... command)
Hilfsmethode zum asynchronen Ausführen eines Systembefehls. |
boolean
|
runEscalatingTimedRetry(long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist. |
boolean
|
runFixedTimedRetry(long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist. |
boolean
|
runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blockiert und führt einen Vorgang mehrmals aus, bis er erfolgreich ist. |
CommandStatus
|
runTimed(long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blockiert und führt einen Vorgang aus. 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,
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 |
Fields
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
AUSFÜHRBARER_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Öffentliche Konstruktoren
Ö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: