IRunUtil

public interface IRunUtil

com.android.tradefed.util.IRunUtil


Interfejs do wykonywania operacji czasowych i poleceń systemowych.

Streszczenie

Klasy zagnieżdżone

interface IRunUtil.IRunnableResult

Interfejs do asynchronicznego wykonywania operacji, która zwraca stan logiczny.

Metody publiczne

abstract void allowInterrupt (boolean allow)

Zezwala/nie zezwala na wykonywanie przerwań w bieżącym wątku.

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

Przerywa trwające/nadchodzące operacje uruchamiania w danym wątku.

abstract void interrupt (Thread thread, String message)

Przerywa trwające/nadchodzące operacje uruchamiania w danym wątku.

abstract boolean isInterruptAllowed ()

Podaj status przerwania RunUtil.

abstract Process runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command)

Alternatywna metoda runCmdInBackground(String) , która akceptuje argumenty polecenia w postaci ERROR(/List) .

abstract Process runCmdInBackground ( command) runCmdInBackground ( command)

Alternatywna metoda runCmdInBackground(String) , która akceptuje argumenty polecenia w postaci ERROR(/List) .

abstract Process runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output)

Uruchamianie polecenia z ERROR(/OutputStream) rejestruje dane wyjściowe polecenia.

abstract Process runCmdInBackground (String... command)

Metoda pomocnika do asynchronicznego wykonywania polecenia systemowego.

abstract Process runCmdInBackground (Redirect redirect, String... command)

Metoda pomocnika do asynchronicznego wykonywania polecenia systemowego.

abstract boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Zablokuj i wykonaj operację wiele razy, aż zakończy się sukcesem.

abstract boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Zablokuj i wykonaj operację wiele razy, aż zakończy się sukcesem.

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

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

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

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

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

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

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

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

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

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

abstract boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)

Zablokuj i wykonaj operację wiele razy, aż zakończy się sukcesem.

abstract void setEnvVariable (String key, String value)

Ustawia zmienną środowiskową, która ma być używana podczas uruchamiania poleceń systemowych.

abstract void setEnvVariablePriority ( IRunUtil.EnvPriority priority)

Zdecyduj, czy podczas tworzenia procesu usunięcie ustawień zmiennych środowiskowych ma wyższy priorytet niż ich ustawienie.

abstract void setInterruptibleInFuture (Thread thread, long timeMs)

Ustaw jako przerywalne po pewnym czasie oczekiwania.

abstract void setLinuxInterruptProcess (boolean interrupt)

Zezwalaj na używanie przerywania linuksowego „zabicia” w procesie uruchomionym za pomocą metod #runTimed, gdy przekroczy limit czasu.

abstract void setRedirectStderrToStdout (boolean redirect)

Ustaw standardowy strumień błędów, aby przekierowywał do standardowego strumienia wyjściowego podczas uruchamiania poleceń systemowych.

abstract void setWorkingDir (File dir)

Ustawia katalog roboczy dla poleceń systemowych.

abstract void sleep (long time)

Metoda pomocnicza do uśpienia na określony czas, ignorując wszelkie wyjątki.

abstract void unsetEnvVariable (String key)

Anuluje ustawienie zmiennej środowiskowej, więc polecenia systemowe działają bez tej zmiennej środowiskowej.

Metody publiczne

Zezwól na przerwanie

public abstract 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.

przerywać

public abstract 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 abstract 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 abstract boolean isInterruptAllowed ()

Podaj status przerwania RunUtil.

Zwroty
boolean true, jeśli Run można przerwać, w przeciwnym razie false.

uruchomCmdInBackground

public abstract 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 ERROR(/ProcessBuilder) .

command : ERROR(/List) zawierający określone polecenie systemowe i opcjonalnie argumenty do exec

Zwroty
Process ERROR(/Process) wykonanego polecenia

Rzuty
jeśli polecenie nie zostało uruchomione

uruchomCmdInBackground

public abstract 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 ERROR(/Process) wykonanego polecenia

Rzuty
jeśli polecenie nie zostało uruchomione

uruchomCmdInBackground

public abstract 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 : polecenie uruchomienia

output OutputStream : OutputStream do zapisania danych wyjściowych

Zwroty
Process ERROR(/Process) uruchamiający polecenie

Rzuty
IOException

uruchomCmdInBackground

public abstract 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 ERROR(/Process) wykonanego polecenia

Rzuty
jeśli polecenie nie zostało uruchomione

uruchomCmdInBackground

public abstract 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 ERROR(/ProcessBuilder) .

command String : określone polecenie systemowe i opcjonalnie argumenty do exec

Zwroty
Process ERROR(/Process) wykonanego polecenia

Rzuty
jeśli polecenie nie zostało uruchomione

runEscalatingTimedPonów próbę

public abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 abstract 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 ERROR(/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 abstract 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 abstract void setEnvVariable (String key, 
                String value)

Ustawia zmienną środowiskową, która ma być używana podczas uruchamiania poleceń systemowych.

Parametry
key String : nazwa zmiennej

value String : wartość zmiennej

setEnvVariablePriority

public abstract 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 abstract 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 abstract 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 abstract 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 abstract void setWorkingDir (File dir)

Ustawia katalog roboczy dla poleceń systemowych.

Parametry
dir File : katalog roboczy

spać

public abstract 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 abstract void unsetEnvVariable (String key)

Anuluje ustawienie zmiennej środowiskowej, więc polecenia systemowe działają bez tej zmiennej środowiskowej.

Parametry
key String : nazwa zmiennej