RunUtil
public class RunUtil
extends Object
implements IRunUtil
java.lang.Object | |
com.android.tradefed.util.RunUtil |
Zbiór metod pomocniczych do wykonywania operacji.
Streszczenie
Pola | |
---|---|
public static final String | INHERITIO_PREFIX |
public static final String | RUNNABLE_NOTIFIER_NAME
|
Konstruktorzy publiczni | |
---|---|
RunUtil () Utwórz nowy obiekt |
Metody publiczne | |
---|---|
void | allowInterrupt (boolean allow) Zezwala/nie zezwala na uruchamianie przerwań w bieżącym wątku. |
static IRunUtil | getDefault () Uzyskaj odwołanie do domyślnego obiektu |
void | interrupt (Thread thread, String message, ErrorIdentifier errorId) Przerywa trwające/nadchodzące operacje uruchamiania w danym wątku. |
void | interrupt (Thread thread, String message) Przerywa trwające/nadchodzące operacje uruchamiania w danym wątku. |
boolean | isInterruptAllowed () Podaj status przerwania RunUtil. |
Process | runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command) Alternatywna |
Process | runCmdInBackground (String... command) Metoda pomocnicza do asynchronicznego wykonywania polecenia systemowego. |
Process | runCmdInBackground ( command) runCmdInBackground ( command) Alternatywna |
Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) Uruchamianie polecenia z |
Process | runCmdInBackground (Redirect redirect, String... command) Metoda pomocnicza do asynchronicznego wykonywania polecenia systemowego. |
boolean | runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Blokuj i wykonuje operację wiele razy, aż się powiedzie. |
boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Blokuj i wykonuje operację wiele razy, aż się powiedzie. |
CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) Blokuje i wykonuje operację, przerywając, jeśli trwa ona dłużej niż określony czas. |
CommandResult | runTimedCmd (long timeout, String... command) Metoda pomocnicza do wykonania polecenia systemowego i przerwania, jeśli trwa to dłużej niż określony czas. |
CommandResult | runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command) Metoda pomocnicza do wykonania polecenia systemowego, przerwania, jeśli trwa to dłużej niż określony czas, i przekierowania danych wyjściowych do plików, jeśli jest określony. |
CommandResult | runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command) Metoda pomocnicza do wykonania polecenia systemowego i przerwania, jeśli trwa to dłużej niż określony czas. |
CommandResult | runTimedCmdSilently (long timeout, String... command) Metoda pomocnicza do wykonania polecenia systemowego i przerwania, jeśli trwa to dłużej niż określony czas. |
CommandResult | runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command) Metoda pomocnicza do wykonania polecenia systemowego i przerwania, 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 wykonania polecenia systemowego, przerwania, jeśli trwa to dłużej niż określony czas, i przekierowania danych wyjściowych do plików, jeśli jest określony. |
CommandResult | runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command) Metoda pomocnicza do wykonania polecenia systemowego, które wymaga wejścia stdin i przerwania, jeśli trwa to dłużej niż określony czas. |
CommandResult | runTimedCmdWithInput (long timeout, String input, String... command) Metoda pomocnicza do wykonania polecenia systemowego, które wymaga wejścia stdin i przerwania, jeśli trwa to dłużej niż określony czas. |
CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) Metoda pomocnicza do wykonania polecenia systemowego, które wymaga przekierowania Stdin z pliku i przerwania, jeśli trwa to dłużej niż określony czas. |
boolean | runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable) Blokuj i wykonuje operację wiele razy, aż się powiedzie. |
void | setEnvVariable (String name, String value) Ustawia zmienną środowiskową, która ma być używana podczas uruchamiania poleceń systemowych. |
void | setEnvVariablePriority ( IRunUtil.EnvPriority priority) Zdecyduj, czy podczas tworzenia procesu anulowanie ustawienia zmiennej środowiskowej ma wyższy priorytet niż ustawienie ich. |
void | setInterruptibleInFuture (Thread thread, long timeMs) Ustaw jako przerywany po pewnym czasie oczekiwania. |
void | setLinuxInterruptProcess (boolean interrupt) Zezwól na użycie przerwania linux 'kill' w procesie uruchamianym przez metody #runTimed, gdy przekroczy limit czasu. |
void | setRedirectStderrToStdout (boolean redirect) Ustaw standardowy strumień błędów, aby przekierowywał do standardowego strumienia wyjściowego podczas uruchamiania poleceń systemowych. |
void | setWorkingDir (File dir) Ustawia katalog roboczy dla poleceń systemowych. |
void | sleep (long time) Metoda pomocnika spać przez określony czas, ignorując wszelkie wyjątki. |
void | unsetEnvVariable (String key) Anuluje zmienną środowiskową, więc polecenia systemowe są uruchamiane bez tej zmiennej środowiskowej. Zmienne środowiskowe mogą dziedziczyć z procesu nadrzędnego, więc musimy usunąć zmienną środowiskową z |
Pola
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Konstruktorzy publiczni
Metody publiczne
zezwól na przerwanie
public void allowInterrupt (boolean allow)
Zezwala/nie zezwala na uruchamianie przerwań w bieżącym wątku. Jeśli jest to dozwolone, uruchomione operacje bieżącego wątku mogą zostać przerwane z innych wątków za pomocą metody interrupt(Thread, String)
.
Parametry | |
---|---|
allow | boolean : czy zezwolić na uruchamianie przerwań w bieżącym wątku. |
getDefault
public static IRunUtil getDefault ()
Uzyskaj odwołanie do domyślnego obiektu RunUtil
.
setEnvVariable(String, String)
lub setWorkingDir(File)
, utworzyli własną kopię.Zwroty | |
---|---|
IRunUtil |
przerwać
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Przerywa trwające/nadchodzące operacje uruchamiania w danym wątku. Operacje uruchamiania na danym wątku RunInterruptedException
.
Parametry | |
---|---|
message | String : komunikat dla RunInterruptedException . |
errorId | ErrorIdentifier : reprezentuje przyczynę przerwania, jeśli jest znana. |
przerwać
public void interrupt (Thread thread, String message)
Przerywa trwające/nadchodzące operacje uruchamiania w danym wątku. Operacje uruchamiania na danym wątku RunInterruptedException
.
Parametry | |
---|---|
message | String : komunikat dla RunInterruptedException . |
Czy przerwanie jest dozwolone
public boolean isInterruptAllowed ()
Podaj status przerwania RunUtil.
Zwroty | |
---|---|
boolean | prawda, jeśli przebieg można przerwać, w przeciwnym razie fałsz. |
uruchomCmdw tle
public Process runCmdInBackground (Redirect redirect,command)
Alternatywna runCmdInBackground(String)
, która akceptuje argumenty polecenia w postaci ERROR(/List)
.
Parametry | |
---|---|
redirect | Redirect : ERROR(/Redirect) do zastosowania do ProcessBuilder . |
command | ERROR(/List) zawierający określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
Process | Process wykonywanego polecenia |
uruchomCmdw tle
public Process runCmdInBackground (String... command)
Metoda pomocnicza do asynchronicznego wykonywania polecenia systemowego.
Powróci natychmiast po uruchomieniu polecenia.
Parametry | |
---|---|
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
Process | Process wykonywanego polecenia |
uruchomCmdw tle
public Process runCmdInBackground (command)
Alternatywna runCmdInBackground(String)
, która akceptuje argumenty polecenia w postaci ERROR(/List)
.
Parametry | |
---|---|
command | ERROR(/List) zawierający określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
Process | Process wykonywanego polecenia |
uruchomCmdw tle
public Process runCmdInBackground (command, OutputStream output)
Uruchamianie polecenia z ERROR(/OutputStream)
rejestruje dane wyjściowe polecenia. Stdout i stderr są połączone.
Parametry | |
---|---|
command | |
output | OutputStream : OutputStream do zapisania danych wyjściowych |
Zwroty | |
---|---|
Process | Process uruchamiający polecenie |
uruchomCmdw tle
public Process runCmdInBackground (Redirect redirect, String... command)
Metoda pomocnicza do asynchronicznego wykonywania polecenia systemowego.
Powróci natychmiast po uruchomieniu polecenia.
Parametry | |
---|---|
redirect | Redirect : ERROR(/Redirect) do zastosowania do ProcessBuilder . |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
Process | Process wykonywanego polecenia |
runEscalatingTimedRetry
public boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blokuj i wykonuje operację wiele razy, aż się powiedzie.
Wykładniczo zwiększ czas oczekiwania między próbami operacji. Jest to przeznaczone do użycia podczas wykonywania operacji, takich jak odpytywanie serwera, aby dać mu czas na odzyskanie sprawności w przypadku tymczasowego wyłączenia.Parametry | |
---|---|
opTimeout | long : maksymalny czas oczekiwania w ms na pojedynczą próbę operacji |
initialPollInterval | long : początkowy czas oczekiwania między próbami operacji |
maxPollInterval | long : maksymalny czas oczekiwania między próbami operacji |
maxTime | long : całkowity przybliżony maksymalny czas na kontynuowanie próby operacji |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
Zwroty | |
---|---|
boolean | true , jeśli operacja zakończyła się pomyślnie przed upływem maxTime |
runFixedTimedRetry
public boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blokuj i wykonuje operację wiele razy, aż się powiedzie.
Parametry | |
---|---|
opTimeout | long : maksymalny czas oczekiwania w ms na pojedynczą próbę operacji |
pollInterval | long : początkowy czas oczekiwania między próbami operacji |
maxTime | long : całkowity przybliżony maksymalny czas na kontynuowanie próby operacji |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
Zwroty | |
---|---|
boolean | true , jeśli operacja zakończyła się pomyślnie przed upływem maxTime |
runTimed
public CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blokuje i wykonuje operację, przerywając, jeśli trwa ona dłużej niż określony czas.
Parametry | |
---|---|
timeout | long : maksymalny czas oczekiwania w ms |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
logErrors | boolean : loguj błędy w wyjątkach lub nie. |
Zwroty | |
---|---|
CommandStatus | wynik operacji CommandStatus . |
runTimedCmd
public CommandResult runTimedCmd (long timeout, String... command)
Metoda pomocnicza do wykonania polecenia systemowego i przerwania, jeśli trwa to dłużej niż określony czas.
Parametry | |
---|---|
timeout | long : maksymalny czas oczekiwania w ms. 0 oznacza brak limitu czasu. |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik z uruchomienia polecenia |
runTimedCmd
public CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Metoda pomocnicza do wykonania polecenia systemowego, przerwania, jeśli trwa to dłużej niż określony czas, i przekierowania danych wyjściowych do plików, jeśli jest określony. Gdy ERROR(/OutputStream)
są dostarczane w ten sposób, pozostaną otwarte na końcu funkcji.
Parametry | |
---|---|
timeout | long : limit czasu maksymalny czas oczekiwania w ms. 0 oznacza brak limitu czasu. |
stdout | OutputStream : ERROR(/OutputStream) gdzie standardowe wyjście zostanie przekierowane. Może mieć wartość zerową. |
stderr | OutputStream : ERROR(/OutputStream) , gdzie dane wyjściowe błędu zostaną przekierowane. Może mieć wartość zerową. |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik z uruchomienia polecenia |
runTimedCmdRetry
public CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
Metoda pomocnicza do wykonania polecenia systemowego i przerwania, 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 kolejnymi próbami polecenia |
attempts | int : maksymalna liczba prób, aby spróbować |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik z uruchomienia polecenia |
runTimedCmdSilently
public CommandResult runTimedCmdSilently (long timeout, String... command)
Metoda pomocnicza do wykonania polecenia systemowego i przerwania, jeśli trwa to dłużej niż określony czas. Podobny 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 exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik z uruchomienia polecenia |
runTimedCmdSilentlyRetry
public CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
Metoda pomocnicza do wykonania polecenia systemowego i przerwania, jeśli trwa to dłużej niż określony czas. Podobny do runTimedCmdRetry(long, long, int, String[])
, ale nie rejestruje żadnych błędów w przypadku wyjątku.
Parametry | |
---|---|
timeout | long : maksymalny czas oczekiwania w ms |
retryInterval | long : czas oczekiwania między kolejnymi próbami polecenia |
attempts | int : maksymalna liczba prób, aby spróbować |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik z uruchomienia polecenia |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command)
Metoda pomocnicza do wykonania polecenia systemowego, przerwania, jeśli trwa to dłużej niż określony czas, i przekierowania danych wyjściowych do plików, jeśli jest określony.
Parametry | |
---|---|
timeout | long : limit czasu maksymalny czas oczekiwania w ms. 0 oznacza brak limitu czasu. |
input | String : wejście stdin do przekazania do procesu |
stdoutFile | File : ERROR(/File) gdzie standardowe wyjście zostanie przekierowane. Może mieć wartość zerową. |
stderrFile | File : ERROR(/File) , gdzie wyjście błędu zostanie przekierowane. Może mieć wartość zerową. |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik z uruchomienia polecenia |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Metoda pomocnicza do wykonania polecenia systemowego, które wymaga wejścia stdin i przerwania, jeśli trwa to dłużej niż określony czas.
Parametry | |
---|---|
timeout | long : maksymalny czas oczekiwania w ms |
input | String : wejście stdin do przekazania do procesu |
command | ERROR(/List) zawierający polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik z uruchomienia polecenia |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Metoda pomocnicza do wykonania polecenia systemowego, które wymaga wejścia stdin i przerwania, jeśli trwa to dłużej niż określony czas.
Parametry | |
---|---|
timeout | long : maksymalny czas oczekiwania w ms |
input | String : wejście stdin do przekazania do procesu |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik z uruchomienia polecenia |
runTimedCmdWithInputRedirect
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Metoda pomocnicza do wykonania polecenia systemowego, które wymaga przekierowania Stdin z pliku i przerwania, jeśli trwa to dłużej niż określony czas.
Parametry | |
---|---|
timeout | long : maksymalny czas oczekiwania w ms |
inputRedirect | File : ERROR(/File) do przekierowania jako standardowe wejście przy użyciu ProcessBuilder.redirectInput() . Jeśli null, stdin nie zostanie przekierowany. |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik z uruchomienia polecenia |
runTimedRetry
public boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Blokuj i wykonuje operację wiele razy, aż się powiedzie.
Parametry | |
---|---|
opTimeout | long : maksymalny czas oczekiwania w ms na jedną próbę operacji |
pollInterval | long : czas oczekiwania między kolejnymi próbami polecenia |
attempts | int : maksymalna liczba prób, aby spróbować |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
Zwroty | |
---|---|
boolean | true , jeśli operacja zakończyła się pomyślnie przed osiągnięciem prób. |
setEnvVariable
public void setEnvVariable (String name, String value)
Ustawia zmienną środowiskową, która ma być używana podczas uruchamiania poleceń systemowych.
Parametry | |
---|---|
name | String : nazwa zmiennej |
value | String : wartość zmiennej |
setEnvVariablePriority
public void setEnvVariablePriority (IRunUtil.EnvPriority priority)
Zdecyduj, czy podczas tworzenia procesu anulowanie ustawienia zmiennej środowiskowej ma wyższy priorytet niż ustawienie ich. Domyślnie rozbrojenie ma wyższy priorytet: co oznacza, że jeśli podjęta zostanie próba ustawienia zmiennej o tej samej nazwie, nie nastąpi to, ponieważ zmienna będzie nieustawiona. Nie można użyć w domyślnym wystąpieniu IRunUtil
.
Parametry | |
---|---|
priority | IRunUtil.EnvPriority |
setPrzerywalnyInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Ustaw jako przerywany po pewnym czasie oczekiwania. ERROR(/CommandScheduler#shutdownHard())
aby wymusić zakończenie działania.
Parametry | |
---|---|
thread | Thread : wątek, który będzie można przerwać. |
timeMs | long : czas oczekiwania przed ustawieniem opcji przerywanej. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Zezwól na użycie przerwania linux 'kill' w procesie uruchamianym przez metody #runTimed, gdy przekroczy limit czasu. Nie można użyć w domyślnym wystąpieniu IRunUtil
.
Parametry | |
---|---|
interrupt | boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Ustaw standardowy strumień błędów, aby przekierowywał do standardowego strumienia wyjściowego podczas uruchamiania poleceń systemowych. Wartość początkowa to fałsz.
Parametry | |
---|---|
redirect | boolean : nowa wartość określająca, czy przekierować, czy nie |
setWorkingDir
public void setWorkingDir (File dir)
Ustawia katalog roboczy dla poleceń systemowych.
Parametry | |
---|---|
dir | File : katalog roboczy |
spać
public void sleep (long time)
Metoda pomocnika spać przez określony czas, ignorując wszelkie wyjątki.
Parametry | |
---|---|
time | long : ms spać. wartości mniejsze lub równe 0 będą ignorowane |
unsetEnvVariable
public void unsetEnvVariable (String key)
Anuluje zmienną środowiskową, więc polecenia systemowe są uruchamiane bez tej zmiennej środowiskowej. Zmienne środowiskowe mogą dziedziczyć z procesu nadrzędnego, więc musimy usunąć zmienną środowiskową z ProcessBuilder.environment()
Parametry | |
---|---|
key | String : nazwa zmiennej |
Zobacz też: