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 RunUtil do użycia.

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

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 runCmdInBackground(String) , która akceptuje argumenty polecenia w postaci ERROR(/List) .

Process runCmdInBackground ( command) runCmdInBackground ( command)

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

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

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

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 ERROR(/ProcessBuilder#environment())

Pola

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Konstruktory publiczne

UruchomUtil

public RunUtil ()

Utwórz nowy obiekt RunUtil do użycia.

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 .

Jest to przydatne dla dzwoniących, którzy chcą używać IRunUtil bez dostosowywania. Zaleca się, aby osoby wywołujące, które potrzebują niestandardowej instancji IRunUtil (tj. muszą wywołać 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 ERROR(/ProcessBuilder) .

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

Zwroty
Process ERROR(/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 ERROR(/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 : polecenie uruchomienia

output OutputStream : OutputStream do zapisania danych wyjściowych

Zwroty
Process ERROR(/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 ERROR(/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 ERROR(/ProcessBuilder) .

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

Zwroty
Process ERROR(/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 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 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 ERROR(/ProcessBuilder#environment())

Parametry
key String : nazwa zmiennej