Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

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

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

Process runCmdInBackground (String... command)

Metoda pomocnicza do asynchronicznego wykonywania polecenia systemowego.

Process runCmdInBackground ( command) runCmdInBackground ( command)

Alternatywna 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 (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 ProcessBuilder.environment()

Pola

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Konstruktorzy publiczni

RunUtil

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

Jest to przydatne dla dzwoniących, którzy chcą używać IrunUtil bez dostosowywania. Zaleca się, aby wywołujący, którzy potrzebują niestandardowej instancji IRunUtil (tj. muszą wywołać 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 : polecenie do uruchomienia

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