RunUtil
public
class
RunUtil
extends Object
implements
IRunUtil
java.lang.Object | |
↳ | com.android.tradefed.util.RunUtil |
Zbiór metod pomocniczych do wykonywania operacji.
Podsumowanie
Fieldsem | |
---|---|
public
static
final
String |
INHERITIO_PREFIX
|
public
static
final
String |
RUNNABLE_NOTIFIER_NAME
|
Konstruktory publiczne | |
---|---|
RunUtil()
Utwórz nowy obiekt |
|
RunUtil(boolean inheritEnvVars)
|
Metody publiczne | |
---|---|
void
|
allowInterrupt(boolean allow)
Umożliwia lub uniemożliwia przerywanie wątku. |
ProcessBuilder
|
createProcessBuilder(Redirect redirect,
|
static
IRunUtil
|
getDefault()
Pobierz odwołanie do domyślnego obiektu |
void
|
interrupt(Thread thread, String message, ErrorIdentifier errorId)
Przerywa bieżące lub nadchodzące operacje w danym wątku. |
void
|
interrupt(Thread thread, String message)
Przerywa bieżące lub nadchodzące operacje w danym wątku. |
boolean
|
isInterruptAllowed()
Podać stan przerwania RunUtil. |
Process
|
runCmdInBackground(Redirect redirect,
Alternatywna metoda |
Process
|
runCmdInBackground(
Alternatywna metoda |
Process
|
runCmdInBackground(
Uruchomienie polecenia z opcją |
Process
|
runCmdInBackground(String... command)
Metoda pomocnicza do asynchronicznego wykonywania poleceń systemowych. |
Process
|
runCmdInBackground(Redirect redirect, String... command)
Metoda pomocnicza do asynchronicznego wykonywania poleceń systemowych. |
boolean
|
runEscalatingTimedRetry(long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie. |
boolean
|
runFixedTimedRetry(long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie. |
boolean
|
runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie. |
CommandStatus
|
runTimed(long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blokuje i wykonuje operację, a jeśli trwa dłużej niż określony czas, przerywa ją. |
CommandResult
|
runTimedCmd(long timeout, OutputStream stdout, OutputStream stderr, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone). |
CommandResult
|
runTimedCmd(long timeout, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. |
CommandResult
|
runTimedCmdRetry(long timeout, long retryInterval, int attempts, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. |
CommandResult
|
runTimedCmdRetryWithOutputMonitor(long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. |
CommandResult
|
runTimedCmdSilently(long timeout, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. |
CommandResult
|
runTimedCmdSilentlyRetry(long timeout, long retryInterval, int attempts, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input, File stdoutFile, File stderrFile, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone). |
CommandResult
|
runTimedCmdWithInput(long timeout, String input, String... command)
Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych ze standardowego wejścia, oraz do przerywania, jeśli trwa dłużej niż określony czas. |
CommandResult
|
runTimedCmdWithInput(long timeout, String input,
Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych ze standardowego wejścia, oraz do przerywania, jeśli trwa dłużej niż określony czas. |
CommandResult
|
runTimedCmdWithInputRedirect(long timeout, File inputRedirect, String... command)
Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga przekierowania Stdin z pliku, oraz do przerywania, jeśli trwa dłużej niż określony czas. |
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone). |
CommandResult
|
runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. |
boolean
|
runTimedRetry(long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie. |
boolean
|
runTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie. |
CommandStatus
|
runTimedWithOutputMonitor(long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blokuje i wykonuje operację, a jeśli trwa dłużej niż określony czas, przerywa ją. |
void
|
setEnvVariable(String name, String value)
Ustawia zmienną środowiskową, która ma być używana podczas wykonywania poleceń systemowych. |
void
|
setEnvVariablePriority(IRunUtil.EnvPriority priority)
Określ, czy podczas tworzenia procesu anulowanie ustawienia zmiennej środowiskowej ma wyższy priorytet niż ustawienie jej. |
void
|
setInterruptibleInFuture(Thread thread, long timeMs)
Ustaw jako przerywalny po upływie określonego czasu oczekiwania. |
void
|
setLinuxInterruptProcess(boolean interrupt)
Umożliwia użycie przerwania „kill” systemu Linux w procesie działającym za pomocą metod #runTimed, gdy osiągnie limit czasu. |
void
|
setRedirectStderrToStdout(boolean redirect)
Ustaw standardowy strumień błędów tak, aby przekierowywał do standardowego strumienia danych wyjściowych podczas wykonywania poleceń systemowych. |
void
|
setWorkingDir(File dir)
Ustawia katalog roboczy dla poleceń systemowych. |
void
|
sleep(long time)
Pomocnicza metoda do uśpienia na określony czas, ignorując wszelkie wyjątki. |
void
|
unsetEnvVariable(String key)
anuluje ustawienie zmiennej środowiskowej, dzięki czemu polecenia systemowe są wykonywane bez tej zmiennej środowiskowej.
Zmienne środowiskowe mogą być dziedziczone z procesu nadrzędnego, dlatego musimy usunąć zmienną środowiskową z |
Fieldsem
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Konstruktory publiczne
RunUtil
public RunUtil (boolean inheritEnvVars)
Parametry | |
---|---|
inheritEnvVars |
boolean |
Metody publiczne
allowInterrupt
public void allowInterrupt (boolean allow)
Umożliwia lub uniemożliwia przerywanie wątku. Jeśli jest to dozwolone, operacje wykonywane w bieżącym wątku mogą być przerywane przez inne wątki za pomocą metody interrupt(Thread, String)
.
Parametry | |
---|---|
allow |
boolean : określa, czy można przerywać działanie w bieżącym wątku. |
createProcessBuilder
public ProcessBuilder createProcessBuilder (Redirect redirect,commandList, boolean enableCache)
Parametry | |
---|---|
redirect |
Redirect |
commandList |
|
enableCache |
boolean |
Zwroty | |
---|---|
ProcessBuilder |
getDefault
public static IRunUtil getDefault ()
Pobierz odwołanie do domyślnego obiektu RunUtil
.
Jest to przydatne dla osób, które chcą używać IRunUtil bez dostosowywania.
Należy zalecić, aby wywołujący, którzy potrzebują niestandardowej instancji IRunUtil (czyli muszą wywołać setEnvVariable(String, String)
lub setWorkingDir(File)
), utworzyli własną kopię.
Zwroty | |
---|---|
IRunUtil |
przerywać
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Przerywa bieżące lub nadchodzące operacje w danym wątku. Operacje wykonywane w danym wątku spowoduje wyjątek RunInterruptedException
.
Parametry | |
---|---|
message |
String : wiadomość dotycząca RunInterruptedException . |
errorId |
ErrorIdentifier : przyczyna przerwania, jeśli jest znana. |
przerywać
public void interrupt (Thread thread, String message)
Przerywa bieżące lub nadchodzące operacje w danym wątku. Operacje wykonywane w danym wątku spowoduje wyjątek RunInterruptedException
.
Parametry | |
---|---|
message |
String : wiadomość dotycząca RunInterruptedException . |
isInterruptAllowed
public boolean isInterruptAllowed ()
Podać stan przerwania RunUtil.
Zwroty | |
---|---|
boolean |
Wartość true, jeśli działanie może zostać przerwane. W przeciwnym razie ma wartość false. |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect,command)
Alternatywna metoda runCmdInBackground(String)
, która akceptuje argumenty polecenia w formie ERROR(/List)
.
Parametry | |
---|---|
redirect |
Redirect : ERROR(/Redirect) do zastosowania w ProcessBuilder . |
command |
: ERROR(/List) zawierający określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
Process |
Process wykonywanego polecenia |
runCmdInBackground
public Process runCmdInBackground (command)
Alternatywna metoda runCmdInBackground(String)
, która akceptuje argumenty polecenia w formie ERROR(/List)
.
Parametry | |
---|---|
command |
: ERROR(/List) zawierający określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
Process |
Process wykonywanego polecenia |
runCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
Uruchomienie polecenia z opcją ERROR(/OutputStream)
powoduje zapisanie danych wyjściowych polecenia w dzienniku.
Stdout i stderr są łączone.
Parametry | |
---|---|
command |
: polecenie do wykonania |
output |
OutputStream : OutputStream do zapisywania danych wyjściowych |
Zwroty | |
---|---|
Process |
Process uruchamia polecenie |
runCmdInBackground
public Process runCmdInBackground (String... command)
Metoda pomocnicza do asynchronicznego wykonywania poleceń systemowych.
Zwróci wartość natychmiast po uruchomieniu polecenia.
Parametry | |
---|---|
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
Process |
Process wykonywanego polecenia |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Metoda pomocnicza do asynchronicznego wykonywania poleceń systemowych.
Zwróci wartość natychmiast po uruchomieniu polecenia.
Parametry | |
---|---|
redirect |
Redirect : ERROR(/Redirect) do zastosowania w ProcessBuilder . |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
Process |
Process wykonywanego polecenia |
runEscalatingTimedRetry
public boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie.
Wykładniczo zwiększa czas oczekiwania między kolejnymi próbami wykonania operacji. Ta opcja jest przeznaczona do stosowania podczas wykonywania operacji, takiej jak odpytywanie serwera, aby dać mu czas na odzyskanie się w przypadku tymczasowej awarii.
Parametry | |
---|---|
opTimeout |
long : maksymalny czas oczekiwania w ms na pojedynczą próbę wykonania operacji |
initialPollInterval |
long : początkowy czas oczekiwania między próbami wykonania operacji |
maxPollInterval |
long : maksymalny czas oczekiwania między próbami wykonania operacji |
maxTime |
long : łączny przybliżony maksymalny czas próby wykonania operacji |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
Zwroty | |
---|---|
boolean |
true , jeśli operacja została ukończona przed upływem czasu maxTime |
runFixedTimedRetry
public boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie.
Parametry | |
---|---|
opTimeout |
long : maksymalny czas oczekiwania w ms na pojedynczą próbę wykonania operacji |
pollInterval |
long : początkowy czas oczekiwania między próbami wykonania operacji |
maxTime |
long : łączny przybliżony maksymalny czas próby wykonania operacji |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
Zwroty | |
---|---|
boolean |
true , jeśli operacja została ukończona przed upływem czasu maxTime |
runFixedTimedRetryWithOutputMonitor
public boolean runFixedTimedRetryWithOutputMonitor (long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie. Sprawdza też strumienie danych wyjściowych pod kątem aktywności, przerywając je, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli ustawienie idleOutputTimeout ma wartość 0, nie będzie monitorować strumienia.
Parametry | |
---|---|
opTimeout |
long : maksymalny czas oczekiwania w ms na pojedynczą próbę wykonania operacji |
idleOutputTimeout |
long : maksymalny czas oczekiwania na dane wyjściowe w milisekundach |
pollInterval |
long : początkowy czas oczekiwania między próbami wykonania operacji |
maxTime |
long : łączny przybliżony maksymalny czas próby wykonania operacji |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
Zwroty | |
---|---|
boolean |
true , jeśli operacja została ukończona przed upływem czasu maxTime |
runTimed
public CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blokuje i wykonuje operację, a jeśli trwa dłużej niż określony czas, przerywa ją.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
logErrors |
boolean : czy rejestrować błędy w przypadku wyjątków. |
Zwroty | |
---|---|
CommandStatus |
CommandStatus wynik operacji. |
runTimedCmd
public CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone). Gdy ERROR(/OutputStream)
zostaną podane w ten sposób, pozostaną otwarte na końcu funkcji.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms. Wartość 0 oznacza brak limitu czasu. |
stdout |
OutputStream : ERROR(/OutputStream) , gdzie standardowe dane wyjściowe zostaną przekierowane. Może być puste. |
stderr |
OutputStream : ERROR(/OutputStream) , gdzie dane wyjściowe błędu zostaną przekierowane. Może być puste. |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedCmd
public CommandResult runTimedCmd (long timeout, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms. Wartość 0 oznacza brak limitu czasu. |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedCmdRetry
public CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms na każdą próbę |
retryInterval |
long : czas oczekiwania między ponownymi próbami wykonania polecenia |
attempts |
int : maksymalna liczba prób |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedCmdRetryWithOutputMonitor
public CommandResult runTimedCmdRetryWithOutputMonitor (long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. Sprawdza też strumienie wyjściowe pod kątem aktywności i przerywa je, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli ustawienie idleOutputTimeout ma wartość 0, nie będzie monitorowany żaden strumień.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms na każdą próbę |
idleOutputTimeout |
long : maksymalny czas oczekiwania na dane wyjściowe w milisekundach |
retryInterval |
long : czas oczekiwania między ponownymi próbami wykonania polecenia |
attempts |
int : maksymalna liczba prób |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedCmdSilently
public CommandResult runTimedCmdSilently (long timeout, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. Podobne do runTimedCmd(long, String)
, ale nie rejestruje żadnych błędów w przypadku wyjątku.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedCmdSilentlyRetry
public CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. Podobnie jak w przypadku reguły runTimedCmdRetry(long, long, int, String[])
,
ale nie rejestruje żadnych błędów w wyjątkach.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms |
retryInterval |
long : czas oczekiwania między ponownymi próbami wykonania polecenia |
attempts |
int : maksymalna liczba prób |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone).
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms. Wartość 0 oznacza brak limitu czasu. |
input |
String : dane wejściowe stdin przekazywane do przetwarzania |
stdoutFile |
File : ERROR(/File) , gdzie standardowe dane wyjściowe zostaną przekierowane. Może być puste. |
stderrFile |
File : ERROR(/File) , gdzie dane wyjściowe błędu zostaną przekierowane. Może być puste. |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych ze standardowego wejścia, oraz do przerywania, jeśli trwa dłużej niż określony czas.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms |
input |
String : dane wejściowe stdin przekazywane do przetwarzania |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych ze standardowego wejścia, oraz do przerywania, jeśli trwa dłużej niż określony czas.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms |
input |
String : dane wejściowe stdin przekazywane do przetwarzania |
command |
: ERROR(/List) zawierający polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedCmdWithInputRedirect
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga przekierowania Stdin z pliku, oraz do przerywania, jeśli trwa dłużej niż określony czas.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms |
inputRedirect |
File : ERROR(/File) do przekierowania jako standardowe dane wejściowe za pomocą ProcessBuilder.redirectInput() . Jeśli jest to wartość null, stdin nie zostanie przekierowany. |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedCmdWithOutputMonitor
public CommandResult runTimedCmdWithOutputMonitor (long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone). Gdy ERROR(/OutputStream)
zostaną podane w ten sposób, pozostaną otwarte na końcu funkcji.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms. Wartość 0 oznacza brak limitu czasu. |
idleOutputTimeout |
long : maksymalny czas oczekiwania na dane wyjściowe w milisekundach |
stdout |
OutputStream : ERROR(/OutputStream) , gdzie standardowe dane wyjściowe zostaną przekierowane. Może być puste. |
stderr |
OutputStream : ERROR(/OutputStream) , gdzie dane wyjściowe błędu zostaną przekierowane. Może być puste. |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedCmdWithOutputMonitor
public CommandResult runTimedCmdWithOutputMonitor (long timeout, long idleOutputTimeout, String... command)
Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. Sprawdza też strumienie wyjściowe pod kątem aktywności i przerywa je, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli ustawienie idleOutputTimeout ma wartość 0, nie będzie monitorowany żaden strumień.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms. Wartość 0 oznacza brak limitu czasu. |
idleOutputTimeout |
long : maksymalny czas oczekiwania na dane wyjściowe w milisekundach |
command |
String : określone polecenie systemowe i opcjonalnie argumenty do wykonania |
Zwroty | |
---|---|
CommandResult |
CommandResult zawierający wynik wykonania polecenia. |
runTimedRetry
public boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie.
Parametry | |
---|---|
opTimeout |
long : maksymalny czas oczekiwania w ms na jedną próbę wykonania operacji |
pollInterval |
long : czas oczekiwania między ponownymi próbami wykonania polecenia |
attempts |
int : maksymalna liczba prób |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
Zwroty | |
---|---|
boolean |
true , jeśli operacja została ukończona przed osiągnięciem limitu prób. |
runTimedRetryWithOutputMonitor
public boolean runTimedRetryWithOutputMonitor (long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie. Sprawdza też strumienie danych wyjściowych pod kątem aktywności, przerywając je, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli ustawienie idleOutputTimeout ma wartość 0, nie będzie monitorować strumienia.
Parametry | |
---|---|
opTimeout |
long : maksymalny czas oczekiwania w ms na jedną próbę wykonania operacji |
idleOutputTimeout |
long : maksymalny czas oczekiwania na dane wyjściowe w milisekundach |
pollInterval |
long : czas oczekiwania między ponownymi próbami wykonania polecenia |
attempts |
int : maksymalna liczba prób |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
Zwroty | |
---|---|
boolean |
true , jeśli operacja została ukończona przed osiągnięciem limitu prób. |
runTimedWithOutputMonitor
public CommandStatus runTimedWithOutputMonitor (long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blokuje i wykonuje operację, a jeśli trwa dłużej niż określony czas, przerywa ją. Sprawdza też strumienie wyjściowe pod kątem aktywności i przerywa je, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli ustawienie idleOutputTimeout ma wartość 0, nie będzie monitorować strumienia.
Parametry | |
---|---|
timeout |
long : maksymalny czas oczekiwania w ms |
idleOutputTimeout |
long : maksymalny czas oczekiwania na dane wyjściowe w milisekundach |
runnable |
IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
logErrors |
boolean : czy rejestrować błędy w przypadku wyjątków. |
Zwroty | |
---|---|
CommandStatus |
CommandStatus wynik operacji. |
setEnvVariable
public void setEnvVariable (String name, String value)
Ustawia zmienną środowiskową, która ma być używana podczas wykonywania poleceń systemowych.
Parametry | |
---|---|
name |
String : nazwa zmiennej |
value |
String : wartość zmiennej |
setEnvVariablePriority
public void setEnvVariablePriority (IRunUtil.EnvPriority priority)
Określ, czy podczas tworzenia procesu anulowanie ustawienia zmiennej środowiskowej ma wyższy priorytet niż ustawienie jej.
Domyślnie anulowanie ma wyższy priorytet, co oznacza, że jeśli zostanie podjęta próba ustawienia zmiennej o tej samej nazwie, nie uda się to, ponieważ zmienna zostanie anulowana.
Nie można ich używać w domyślnej instancji IRunUtil
.
Parametry | |
---|---|
priority |
IRunUtil.EnvPriority |
setInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Ustaw jako przerywalny po upływie określonego czasu oczekiwania.
ERROR(/CommandScheduler#shutdownHard())
, abyśmy mogli je w końcu zakończyć.
Parametry | |
---|---|
thread |
Thread : wątek, który stanie się przerywany. |
timeMs |
long : czas oczekiwania przed przerwaniem ustawień. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Umożliwia użycie przerwania „kill” systemu Linux w procesie działającym za pomocą metod #runTimed, gdy osiągnie limit czasu.
Nie można ich używać w domyślnej instancji IRunUtil
.
Parametry | |
---|---|
interrupt |
boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Ustaw standardowy strumień błędów tak, aby przekierowywał do standardowego strumienia danych wyjściowych podczas wykonywania poleceń systemowych. Wartość początkowa to fałsz.
Parametry | |
---|---|
redirect |
boolean : nowa wartość określająca, czy nastąpi przekierowanie |
setWorkingDir
public void setWorkingDir (File dir)
Ustawia katalog roboczy dla poleceń systemowych.
Parametry | |
---|---|
dir |
File : katalog roboczy |
do spania
public void sleep (long time)
Pomocnicza metoda do uśpienia na określony czas, ignorując wszelkie wyjątki.
Parametry | |
---|---|
time |
long : czas oczekiwania w ms. Wartości mniejsze lub równe 0 są ignorowane. |
unsetEnvVariable
public void unsetEnvVariable (String key)
anuluje ustawienie zmiennej środowiskowej, dzięki czemu polecenia systemowe są wykonywane bez tej zmiennej środowiskowej.
Zmienne środowiskowe mogą być dziedziczone z procesu nadrzędnego, więc musimy usunąć zmienną środowiskową z ProcessBuilder.environment()
Parametry | |
---|---|
key |
String : nazwa zmiennej |
Zobacz też: