UruchomUtil
public class RunUtil
extends Object
implements IRunUtil
java.lang.Obiekt | |
↳ | 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
|
Konstruktory publiczne | |
---|---|
RunUtil () Utwórz nowy obiekt |
Metody publiczne | |
---|---|
void | allowInterrupt (boolean allow) Zezwala/nie zezwala na wykonywanie 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 metoda |
Process | runCmdInBackground ( command) runCmdInBackground ( command) Alternatywna metoda |
Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) Uruchamianie polecenia z |
Process | runCmdInBackground (String... command) Metoda pomocnika do asynchronicznego wykonywania polecenia systemowego. |
Process | runCmdInBackground (Redirect redirect, String... command) Metoda pomocnika do asynchronicznego wykonywania polecenia systemowego. |
boolean | runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Zablokuj i wykonaj operację wiele razy, aż zakończy się sukcesem. |
boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Zablokuj i wykonaj operację wiele razy, aż zakończy się sukcesem. |
CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) Blokuje i wykonuje operację, przerywając ją, jeśli trwa dłużej niż określony czas. |
CommandResult | runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command) Metoda pomocnika, aby wykonać polecenie systemowe, przerwać, jeśli trwa dłużej niż określony czas, i przekierować dane wyjściowe do plików, jeśli określono. |
CommandResult | runTimedCmd (long timeout, String... command) Metoda pomocnika do wykonania polecenia systemowego i przerwania, jeśli trwa to dłużej niż określony czas. |
CommandResult | runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command) Metoda pomocnika do wykonania polecenia systemowego i przerwania, jeśli trwa to dłużej niż określony czas. |
CommandResult | runTimedCmdSilently (long timeout, String... command) Metoda pomocnika 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 pomocnika 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 pomocnika, aby wykonać polecenie systemowe, przerwać, jeśli trwa dłużej niż określony czas, i przekierować dane wyjściowe do plików, jeśli określono. |
CommandResult | runTimedCmdWithInput (long timeout, String input, String... command) Metoda pomocnika do wykonania polecenia systemowego, które wymaga wejścia stdin i przerwania, jeśli trwa dłużej niż określony czas. |
CommandResult | runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command) Metoda pomocnika do wykonania polecenia systemowego, które wymaga wejścia stdin i przerwania, jeśli trwa dłużej niż określony czas. |
CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) Metoda pomocnika do wykonania polecenia systemowego, które wymaga przekierowania standardowego wejścia 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) Zablokuj i wykonaj operację wiele razy, aż zakończy się sukcesem. |
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 usunięcie ustawień zmiennych środowiskowych ma wyższy priorytet niż ich ustawienie. |
void | setInterruptibleInFuture (Thread thread, long timeMs) Ustaw jako przerywalne po pewnym czasie oczekiwania. |
void | setLinuxInterruptProcess (boolean interrupt) Zezwalaj na używanie przerywania linuksowego „zabicia” w procesie uruchomionym za pomocą metod #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 pomocnicza do uśpienia na określony czas, ignorując wszelkie wyjątki. |
void | unsetEnvVariable (String key) Anuluje ustawienie zmiennej środowiskowej, więc polecenia systemowe działają bez tej zmiennej środowiskowej. Zmienne środowiskowe mogą dziedziczyć po procesie nadrzędnym, 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
Konstruktory publiczne
Metody publiczne
Zezwól na przerwanie
public void allowInterrupt (boolean allow)
Zezwala/nie zezwala na wykonywanie przerwań w bieżącym wątku. Jeśli jest to dozwolone, operacje uruchamiania bieżącego wątku mogą być przerywane z innych wątków za pomocą metody interrupt(Thread, String)
.
Parametry | |
---|---|
allow | boolean : czy zezwolić na przerwania wykonywania w bieżącym wątku. |
getDefault
public static IRunUtil getDefault ()
Uzyskaj odwołanie do domyślnego obiektu RunUtil
.
setEnvVariable(String, String)
lub setWorkingDir(File)
utworzyły własną kopię.Zwroty | |
---|---|
IRunUtil |
przerywać
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Przerywa trwające/nadchodzące operacje uruchamiania w danym wątku. Operacje uruchamiania w danym wątku zgłoszą RunInterruptedException
.
Parametry | |
---|---|
message | String : komunikat dotyczący RunInterruptedException . |
errorId | ErrorIdentifier : Reprezentuje przyczynę przerwania, jeśli jest znana. |
przerywać
public void interrupt (Thread thread, String message)
Przerywa trwające/nadchodzące operacje uruchamiania w danym wątku. Operacje uruchamiania w danym wątku zgłoszą RunInterruptedException
.
Parametry | |
---|---|
message | String : komunikat dotyczący RunInterruptedException . |
isInterruptAllowed
public boolean isInterruptAllowed ()
Podaj status przerwania RunUtil.
Zwroty | |
---|---|
boolean | true, jeśli Run można przerwać, w przeciwnym razie false. |
uruchomCmdInBackground
public Process runCmdInBackground (Redirect redirect,command)
Alternatywna metoda 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 wykonanego polecenia |
uruchomCmdInBackground
public Process runCmdInBackground (command)
Alternatywna metoda 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 wykonanego polecenia |
uruchomCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
Uruchamianie polecenia z ERROR(/OutputStream)
rejestruje dane wyjściowe polecenia. Stdout i stderr są ze sobą połączone.
Parametry | |
---|---|
command | |
output | OutputStream : OutputStream do zapisania danych wyjściowych |
Zwroty | |
---|---|
Process | Process uruchamiający polecenie |
uruchomCmdInBackground
public Process runCmdInBackground (String... command)
Metoda pomocnika 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 wykonanego polecenia |
uruchomCmdInBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Metoda pomocnika 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 wykonanego polecenia |
runEscalatingTimedPonów próbę
public boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Zablokuj i wykonaj operację wiele razy, aż zakończy się sukcesem.
Wykładniczo zwiększ czas oczekiwania między próbami wykonania operacji. Jest to przeznaczone do użycia podczas wykonywania operacji, takich jak odpytywanie serwera, aby dać mu czas na odzyskanie w przypadku tymczasowej awarii.Parametry | |
---|---|
opTimeout | long : maksymalny czas oczekiwania w ms na pojedynczą próbę 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 : całkowity przybliżony maksymalny czas kontynuowania próby wykonania operacji |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
Zwroty | |
---|---|
boolean | true Jeśli operacja zakończyła się pomyślnie przed upływem maxTime |
runFixedTimedPonów próbę
public boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Zablokuj i wykonaj operację wiele razy, aż zakończy się sukcesem.
Parametry | |
---|---|
opTimeout | long : maksymalny czas oczekiwania w ms na pojedynczą próbę operacji |
pollInterval | long : początkowy czas oczekiwania między próbami wykonania operacji |
maxTime | long : całkowity przybliżony maksymalny czas kontynuowania próby wykonania 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 ją, jeśli trwa dłużej niż określony czas.
Parametry | |
---|---|
timeout | long : maksymalny czas oczekiwania w ms |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult do wykonania |
logErrors | boolean : rejestruj błędy w wyjątku lub nie. |
Zwroty | |
---|---|
CommandStatus | wynik operacji CommandStatus . |
runTimedCmd
public CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Metoda pomocnika, aby wykonać polecenie systemowe, przerwać, jeśli trwa dłużej niż określony czas, i przekierować dane wyjściowe do plików, jeśli określono. Gdy ERROR(/OutputStream)
zostaną podane w ten sposób, pozostaną otwarte na końcu funkcji.
Parametry | |
---|---|
timeout | long : timeout maksymalny czas oczekiwania w ms. 0 oznacza brak limitu czasu. |
stdout | OutputStream : ERROR(/OutputStream) gdzie standardowe wyjście zostanie przekierowane. Może być zerowy. |
stderr | OutputStream : ERROR(/OutputStream) gdzie wyjście błędu zostanie przekierowane. Może być zerowy. |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik wykonania polecenia |
runTimedCmd
public CommandResult runTimedCmd (long timeout, String... command)
Metoda pomocnika 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 wykonania polecenia |
runTimedCmdPonów próbę
public CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
Metoda pomocnika 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 wykonania polecenia |
attempts | int : maksymalna liczba prób |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik wykonania polecenia |
runTimedCmdCicho
public CommandResult runTimedCmdSilently (long timeout, String... command)
Metoda pomocnika 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 wykonania polecenia |
runTimedCmdSilentlySpróbuj ponownie
public CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
Metoda pomocnika 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 wykonania polecenia |
attempts | int : maksymalna liczba prób |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik wykonania polecenia |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command)
Metoda pomocnika, aby wykonać polecenie systemowe, przerwać, jeśli trwa dłużej niż określony czas, i przekierować dane wyjściowe do plików, jeśli określono.
Parametry | |
---|---|
timeout | long : timeout maksymalny czas oczekiwania w ms. 0 oznacza brak limitu czasu. |
input | String : wejście stdin do przekazania do procesu |
stdoutFile | File : ERROR(/File) gdzie zostanie przekierowane standardowe wyjście. Może być zerowy. |
stderrFile | File : ERROR(/File) gdzie zostanie przekierowany wynik błędu. Może być zerowy. |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik wykonania polecenia |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Metoda pomocnika do wykonania polecenia systemowego, które wymaga wejścia stdin i przerwania, jeśli trwa 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 wykonania polecenia |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Metoda pomocnika do wykonania polecenia systemowego, które wymaga wejścia stdin i przerwania, jeśli trwa 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 wykonania polecenia |
runTimedCmdWithInputRedirect
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Metoda pomocnika do wykonania polecenia systemowego, które wymaga przekierowania standardowego wejścia 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, standardowe wejście nie zostanie przekierowane. |
command | String : określone polecenie systemowe i opcjonalnie argumenty do exec |
Zwroty | |
---|---|
CommandResult | CommandResult zawierający wynik wykonania polecenia |
runTimedPonów próbę
public boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Zablokuj i wykonaj operację wiele razy, aż zakończy się sukcesem.
Parametry | |
---|---|
opTimeout | long : maksymalny czas oczekiwania w ms na jedną próbę operacji |
pollInterval | long : czas oczekiwania między kolejnymi próbami wykonania polecenia |
attempts | int : maksymalna liczba prób |
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 usunięcie ustawień zmiennych środowiskowych ma wyższy priorytet niż ich ustawienie. Domyślnie rozbrojenie ma wyższy priorytet: co oznacza, że jeśli zostanie podjęta próba ustawienia zmiennej o tej samej nazwie, nie nastąpi to, ponieważ zmienna zostanie usunięta. Nie można użyć w domyślnej instancji IRunUtil
.
Parametry | |
---|---|
priority | IRunUtil.EnvPriority |
setInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Ustaw jako przerywalne po pewnym czasie oczekiwania. ERROR(/CommandScheduler#shutdownHard())
, aby wymusić, że ostatecznie zakończymy.
Parametry | |
---|---|
thread | Thread : wątek, który zostanie przerwany. |
timeMs | long : czas oczekiwania przed ustawieniem przerywalności. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Zezwalaj na używanie przerywania linuksowego „zabicia” w procesie uruchomionym za pomocą metod #runTimed, gdy przekroczy limit czasu. Nie można użyć w domyślnej instancji 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 pomocnicza do uśpienia na 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 ustawienie zmiennej środowiskowej, więc polecenia systemowe działają bez tej zmiennej środowiskowej. Zmienne środowiskowe mogą dziedziczyć po procesie nadrzędnym, więc musimy usunąć zmienną środowiskową z ProcessBuilder.environment()
Parametry | |
---|---|
key | String : nazwa zmiennej |
Zobacz też: