RunUtil

public class RunUtil
extends Object implements IRunUtil

java.lang.Object
   ↳ com.android.tradefed.util.RunUtil


Zbiór metod pomocniczych do wykonywania operacji.

Podsumowanie

Stałe

String INHERITIO_PREFIX

String RUNNABLE_NOTIFIER_NAME

Publiczne konstruktory

RunUtil()

Utwórz nowy obiekt RunUtil, którego chcesz użyć.

RunUtil(boolean inheritEnvVars)

Metody publiczne

void allowInterrupt(boolean allow)

Zezwala na przerywanie działania bieżącego wątku lub nie zezwala na nie.

ProcessBuilder createProcessBuilder(Redirect redirect, commandList, boolean enableCache)
static IRunUtil getDefault()

Uzyskaj odniesienie do domyślnego obiektu RunUtil.

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

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

void interrupt(Thread thread, String message)

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

boolean isInterruptAllowed()

Zwraca stan przerwania RunUtil.

Process runCmdInBackground(Redirect redirect, command)

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

Process runCmdInBackground( command)

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

Process runCmdInBackground( command, OutputStream output)

Uruchom polecenie z parametrem ERROR(/OutputStream), aby zarejestrować dane wyjściowe polecenia.

Process runCmdInBackground(String... command)

Metoda pomocnicza do asynchronicznego wykonywania polecenia systemowego.

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)

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się ona powodzeniem.

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się ona powodzeniem.

boolean runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się ona powodzeniem.

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 pomocnicza do wykonywania polecenia systemowego. Przerywa działanie, jeśli trwa ono dłużej niż określony czas, i przekierowuje dane wyjściowe do plików, jeśli jest to określone.

CommandResult runTimedCmd(long timeout, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas.

CommandResult runTimedCmdRetry(long timeout, long retryInterval, int attempts, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas.

CommandResult runTimedCmdRetryWithOutputMonitor(long timeout, long idleOutputTimeout, long retryInterval, int attempts, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas.

CommandResult runTimedCmdSilently(long timeout, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas.

CommandResult runTimedCmdSilentlyRetry(long timeout, long retryInterval, int attempts, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas.

CommandResult runTimedCmdWithInput(long timeout, String input, File stdoutFile, File stderrFile, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego. Przerywa działanie, jeśli trwa ono dłużej niż określony czas, i przekierowuje dane wyjściowe do plików, jeśli jest to określone.

CommandResult runTimedCmdWithInput(long timeout, String input, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych stdin, i przerywania działania, jeśli trwa dłużej niż określony czas.

CommandResult runTimedCmdWithInput(long timeout, String input, command)

Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych stdin, i przerywania działania, jeśli trwa dłużej niż określony czas.

CommandResult runTimedCmdWithInputRedirect(long timeout, File inputRedirect, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga przekierowania Stdin z pliku i przerwania działania, jeśli trwa dłużej niż określony czas.

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego. Przerywa działanie, jeśli trwa ono dłużej niż określony czas, i przekierowuje dane wyjściowe do plików, jeśli jest to określone.

CommandResult runTimedCmdWithOutputMonitor(long timeout, long idleOutputTimeout, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas.

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się ona powodzeniem.

boolean runTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się ona powodzeniem.

CommandStatus runTimedWithOutputMonitor(long timeout, long idleOutputTimeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

Blokuje i wykonuje operację, przerywając ją, jeśli trwa dłużej niż określony czas.

void setEnvVariable(String name, String value)

Ustawia zmienną środowiskową, która będzie używana podczas wykonywania poleceń systemowych.

void setEnvVariablePriority(IRunUtil.EnvPriority priority)

Określ, czy podczas tworzenia procesu wyłączenie zmiennej środowiskowej ma wyższy priorytet niż jej ustawienie.

void setInterruptibleInFuture(Thread thread, long timeMs)

Ustaw jako przerywalne po pewnym czasie oczekiwania.

void setLinuxInterruptProcess(boolean interrupt)

Zezwalaj na używanie przerwania „kill” w systemie Linux w przypadku procesów uruchomionych za pomocą metod #runTimed, gdy osiągną limit czasu.

void setRedirectStderrToStdout(boolean redirect)

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

void setWorkingDir(File dir)

Ustawia katalog roboczy dla poleceń systemowych.

void sleep(long time)

Metoda pomocnicza do spania przez określony czas z ignorowaniem wszelkich wyjątków.

void unsetEnvVariable(String key)

Usuwa zmienną środowiskową, dzięki czemu polecenia systemowe są uruchamiane bez tej zmiennej. Zmienne środowiskowe mogą być dziedziczone z procesu nadrzędnego, dlatego musimy usunąć zmienną środowiskową z ProcessBuilder.environment()

Stałe

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

Stała wartość: "inheritio-"

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Constant Value: "RunnableNotifier"

Publiczne konstruktory

RunUtil

public RunUtil ()

Utwórz nowy obiekt RunUtil, którego chcesz użyć.

RunUtil

public RunUtil (boolean inheritEnvVars)

Parametry
inheritEnvVars boolean

Metody publiczne

allowInterrupt

public void allowInterrupt (boolean allow)

Zezwala na przerywanie działania bieżącego wątku lub nie zezwala na nie. Jeśli jest to dozwolone, operacje bieżącego wątku można przerwać z innych wątków za pomocą metody interrupt(Thread, String).

Parametry
allow boolean: czy zezwalać na przerwanie działania w bieżącym wątku.

createProcessBuilder

public ProcessBuilder createProcessBuilder (Redirect redirect, 
                 commandList, 
                boolean enableCache)

Parametry
redirect Redirect

commandList

enableCache boolean

Zwroty
ProcessBuilder

getDefault

public static IRunUtil getDefault ()

Uzyskaj odniesienie do domyślnego obiektu RunUtil.

Jest to przydatne dla osób dzwoniących, które chcą korzystać z IRunUtil bez dostosowywania. Zalecamy, aby dzwoniący, którzy potrzebują niestandardowej instancji IRunUtil (np. 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 lub nadchodzące operacje uruchamiania w danym wątku. Operacje uruchamiane w danym wątku będą zgłaszać wyjątek RunInterruptedException.

Parametry
message String: wiadomość dotycząca: RunInterruptedException.

errorId ErrorIdentifier: podanie przyczyny przerwy, jeśli jest znana.

przerwać,

public void interrupt (Thread thread, 
                String message)

Przerywa trwające lub nadchodzące operacje uruchamiania w danym wątku. Operacje uruchamiane w danym wątku będą zgłaszać wyjątek RunInterruptedException.

Parametry
message String: wiadomość dotycząca: RunInterruptedException.

isInterruptAllowed

public boolean isInterruptAllowed ()

Zwraca stan przerwania RunUtil.

Zwroty
boolean Wartość true, jeśli działanie można przerwać. W przeciwnym razie wartość false.

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

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

Parametry
redirect Redirect: ERROR(/Redirect), który ma zostać zastosowany do ProcessBuilder.

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

Zwroty
Process Process wykonanego polecenia,

runCmdInBackground

public Process runCmdInBackground ( command)

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

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

Zwroty
Process Process wykonanego polecenia,

runCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

Uruchom polecenie z parametrem ERROR(/OutputStream), aby zarejestrować 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,

runCmdInBackground

public Process runCmdInBackground (String... command)

Metoda pomocnicza do asynchronicznego wykonywania polecenia systemowego.

Zwraca wartość natychmiast po uruchomieniu polecenia.

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

Zwroty
Process Process wykonanego polecenia,

runCmdInBackground

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

Metoda pomocnicza do asynchronicznego wykonywania polecenia systemowego.

Zwraca wartość natychmiast po uruchomieniu polecenia.

Parametry
redirect Redirect: ERROR(/Redirect), który ma zostać zastosowany do ProcessBuilder.

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

Zwroty
Process Process wykonanego polecenia,

runEscalatingTimedRetry

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się ona powodzeniem.

Wydłużaj czas oczekiwania między kolejnymi próbami operacji w sposób wykładniczy. Jest to przydatne podczas wykonywania operacji takich jak odpytywanie serwera, aby dać mu czas na przywrócenie działania w przypadku tymczasowej awarii.

Parametry
opTimeout long: maksymalny czas oczekiwania w milisekundach 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: łączny przybliżony maksymalny czas ponawiania operacji;

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

Zwroty
boolean true, jeśli operacja zakończyła się przed upływem maksymalnego czasu

runFixedTimedRetry

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się ona powodzeniem.

Parametry
opTimeout long: maksymalny czas oczekiwania w milisekundach na pojedynczą próbę operacji.

pollInterval long: początkowy czas oczekiwania między próbami operacji.

maxTime long: łączny przybliżony maksymalny czas ponawiania próby wykonania operacji;

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

Zwroty
boolean true, jeśli operacja zakończyła się przed upływem maksymalnego czasu

runFixedTimedRetryWithOutputMonitor

public boolean runFixedTimedRetryWithOutputMonitor (long opTimeout, 
                long idleOutputTimeout, 
                long pollInterval, 
                long maxTime, 
                IRunUtil.IRunnableResult runnable)

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się ona powodzeniem. Monitoruje też strumienie wyjściowe pod kątem aktywności i przerywa działanie, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli wartość idleOutputTimeout jest ustawiona na zero, monitorowanie strumienia nie będzie się odbywać.

Parametry
opTimeout long: maksymalny czas oczekiwania w milisekundach na pojedynczą próbę operacji.

idleOutputTimeout long: maksymalny czas oczekiwania w milisekundach na dane wyjściowe w strumieniach wyjściowych.

pollInterval long: początkowy czas oczekiwania między próbami operacji.

maxTime long: łączny przybliżony maksymalny czas ponawiania próby wykonania operacji;

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

Zwroty
boolean true, jeśli operacja zakończyła się przed upływem maksymalnego czasu

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 milisekundach

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

logErrors boolean: czy rejestrować błędy w przypadku wyjątku.

Zwroty
CommandStatus CommandStatuswynik operacji.

runTimedCmd

public CommandResult runTimedCmd (long timeout, 
                OutputStream stdout, 
                OutputStream stderr, 
                String... command)

Metoda pomocnicza do wykonywania polecenia systemowego. Przerywa działanie, jeśli trwa ono dłużej niż określony czas, i przekierowuje dane wyjściowe do plików, jeśli jest to określone. Jeśli ERROR(/OutputStream) są podane w ten sposób, po zakończeniu działania funkcji pozostaną otwarte.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach. 0 oznacza brak limitu czasu.

stdout OutputStream: ERROR(/OutputStream) miejsce, do którego zostanie przekierowane standardowe wyjście. Może mieć wartość null.

stderr OutputStream: ERROR(/OutputStream) miejsce, do którego zostanie przekierowane wyjście błędu. Może mieć wartość null.

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

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmd

public CommandResult runTimedCmd (long timeout, 
                String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach. 0 oznacza brak limitu czasu.

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

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmdRetry

public CommandResult runTimedCmdRetry (long timeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach dla każdej próby.

retryInterval long: czas oczekiwania między ponownymi próbami wykonania polecenia

attempts int: maksymalna liczba prób.

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

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmdRetryWithOutputMonitor

public CommandResult runTimedCmdRetryWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas. Monitoruje też strumienie wyjściowe pod kątem aktywności i przerywa działanie, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli wartość idleOutputTimeout jest ustawiona na zero, monitorowanie strumienia nie będzie się odbywać.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach dla każdej próby.

idleOutputTimeout long: maksymalny czas oczekiwania w milisekundach na dane wyjściowe w strumieniach wyjściowych.

retryInterval long: czas oczekiwania między ponownymi próbami wykonania polecenia

attempts int: maksymalna liczba prób.

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

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmdSilently

public CommandResult runTimedCmdSilently (long timeout, 
                String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas. Podobne do runTimedCmd(long, String), ale nie rejestruje żadnych błędów w przypadku wyjątku.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach

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

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmdSilentlyRetry

public CommandResult runTimedCmdSilentlyRetry (long timeout, 
                long retryInterval, 
                int attempts, 
                String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas. Podobne do runTimedCmdRetry(long, long, int, String[]), ale nie rejestruje żadnych błędów w przypadku wyjątku.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach

retryInterval long: czas oczekiwania między ponownymi próbami wykonania polecenia

attempts int: maksymalna liczba prób.

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

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmdWithInput

public CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                File stdoutFile, 
                File stderrFile, 
                String... command)

Metoda pomocnicza do wykonywania polecenia systemowego. Przerywa działanie, jeśli trwa ono dłużej niż określony czas, i przekierowuje dane wyjściowe do plików, jeśli jest to określone.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach. 0 oznacza brak limitu czasu.

input String: dane wejściowe stdin do przekazania do procesu

stdoutFile File: ERROR(/File) miejsce, do którego zostanie przekierowane standardowe wyjście. Może mieć wartość null.

stderrFile File: ERROR(/File) miejsce, do którego zostaną przekierowane dane wyjściowe błędu. Może mieć wartość null.

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

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmdWithInput

public CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                String... command)

Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych stdin, i przerywania działania, jeśli trwa dłużej niż określony czas.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach

input String: dane wejściowe stdin do przekazania do procesu

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

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmdWithInput

public CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                 command)

Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych stdin, i przerywania działania, jeśli trwa dłużej niż określony czas.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach

input String: dane wejściowe stdin do przekazania do procesu

command : ERROR(/List) zawierający polecenie systemowe i opcjonalnie argumenty do wykonania

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmdWithInputRedirect

public CommandResult runTimedCmdWithInputRedirect (long timeout, 
                File inputRedirect, 
                String... command)

Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga przekierowania Stdin z pliku i przerwania działania, jeśli trwa dłużej niż określony czas.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach

inputRedirect File: ERROR(/File) do przekierowania jako standardowe dane wejściowe za pomocą ProcessBuilder.redirectInput(). Jeśli wartość to null, stdin nie zostanie przekierowany.

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

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                OutputStream stdout, 
                OutputStream stderr, 
                String... command)

Metoda pomocnicza do wykonywania polecenia systemowego. Przerywa działanie, jeśli trwa ono dłużej niż określony czas, i przekierowuje dane wyjściowe do plików, jeśli jest to określone. Jeśli ERROR(/OutputStream) są podane w ten sposób, po zakończeniu działania funkcji pozostaną otwarte.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach. 0 oznacza brak limitu czasu.

idleOutputTimeout long: maksymalny czas oczekiwania w milisekundach na dane wyjściowe w strumieniach wyjściowych.

stdout OutputStream: ERROR(/OutputStream) miejsce przekierowania standardowego wyjścia. Może mieć wartość null.

stderr OutputStream: ERROR(/OutputStream) miejsce, do którego zostanie przekierowane wyjście błędu. Może mieć wartość null.

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

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmdWithOutputMonitor

public CommandResult runTimedCmdWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, jeśli trwa dłużej niż określony czas. Monitoruje też strumienie wyjściowe pod kątem aktywności i przerywa działanie, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli wartość idleOutputTimeout jest ustawiona na zero, monitorowanie strumienia nie będzie się odbywać.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach. 0 oznacza brak limitu czasu.

idleOutputTimeout long: maksymalny czas oczekiwania w milisekundach na dane wyjściowe w strumieniach wyjściowych.

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

Zwroty
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedRetry

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się ona powodzeniem.

Parametry
opTimeout long: maksymalny czas oczekiwania w milisekundach na jedną próbę operacji.

pollInterval long: czas oczekiwania między ponownymi próbami wykonania polecenia

attempts int: maksymalna liczba prób.

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

Zwroty
boolean true, jeśli operacja została ukończona przed osiągnięciem limitu prób.

runTimedRetryWithOutputMonitor

public boolean runTimedRetryWithOutputMonitor (long opTimeout, 
                long idleOutputTimeout, 
                long pollInterval, 
                int attempts, 
                IRunUtil.IRunnableResult runnable)

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się ona powodzeniem. Monitoruje też strumienie wyjściowe pod kątem aktywności i przerywa działanie, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli wartość idleOutputTimeout jest ustawiona na zero, monitorowanie strumienia nie będzie się odbywać.

Parametry
opTimeout long: maksymalny czas oczekiwania w milisekundach na jedną próbę operacji.

idleOutputTimeout long: maksymalny czas oczekiwania w milisekundach na dane wyjściowe w strumieniach wyjściowych.

pollInterval long: czas oczekiwania między ponownymi próbami wykonania polecenia

attempts int: maksymalna liczba prób.

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

Zwroty
boolean true, jeśli operacja została ukończona przed osiągnięciem limitu prób.

runTimedWithOutputMonitor

public CommandStatus runTimedWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

Blokuje i wykonuje operację, przerywając ją, jeśli trwa dłużej niż określony czas. Monitoruje też strumienie wyjściowe pod kątem aktywności i przerywa działanie, jeśli przez określony czas nie wykryje żadnej aktywności w strumieniu. Jeśli wartość idleOutputTimeout jest ustawiona na zero, monitorowanie strumienia nie będzie się odbywać.

Parametry
timeout long: maksymalny czas oczekiwania w milisekundach

idleOutputTimeout long: maksymalny czas oczekiwania w milisekundach na dane wyjściowe w strumieniach wyjściowych.

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

logErrors boolean: czy rejestrować błędy w przypadku wyjątku.

Zwroty
CommandStatus CommandStatuswynik operacji.

setEnvVariable

public void setEnvVariable (String name, 
                String value)

Ustawia zmienną środowiskową, która będzie używana podczas wykonywania poleceń systemowych.

Parametry
name String: nazwa zmiennej;

value String: wartość zmiennej

setEnvVariablePriority

public void setEnvVariablePriority (IRunUtil.EnvPriority priority)

Określ, czy podczas tworzenia procesu wyłączenie zmiennej środowiskowej ma wyższy priorytet niż jej ustawienie. Domyślnie wyższy priorytet ma usunięcie ustawienia, co oznacza, że jeśli podjęta zostanie próba ustawienia zmiennej o tej samej nazwie, nie powiedzie się ona, ponieważ zmienna zostanie usunięta. Nie można go używać w przypadku 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ć ostateczne zakończenie.

Parametry
thread Thread: wątek, który będzie można przerwać.

timeMs long: czas oczekiwania przed ustawieniem stanu przerywalności.

setLinuxInterruptProcess

public void setLinuxInterruptProcess (boolean interrupt)

Zezwalaj na używanie przerwania „kill” w systemie Linux w przypadku procesów uruchomionych za pomocą metod #runTimed, gdy osiągną limit czasu. Nie można go używać w przypadku domyślnej instancji IRunUtil.

Parametry
interrupt boolean

setRedirectStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

Ustaw standardowy strumień błędów tak, aby podczas wykonywania poleceń systemowych przekierowywał do standardowego strumienia wyjściowego. Wartość początkowa to fałsz.

Parametry
redirect boolean: nowa wartość określająca, czy przekierowywać

setWorkingDir

public void setWorkingDir (File dir)

Ustawia katalog roboczy dla poleceń systemowych.

Parametry
dir File: katalog roboczy

do spania

public void sleep (long time)

Metoda pomocnicza do spania przez określony czas z ignorowaniem wszelkich wyjątków.

Parametry
time long: ms to sleep. values less than or equal to 0 will be ignored

unsetEnvVariable

public void unsetEnvVariable (String key)

Usuwa zmienną środowiskową, dzięki czemu polecenia systemowe są uruchamiane bez tej zmiennej. Zmienne środowiskowe mogą być dziedziczone z procesu nadrzędnego, dlatego musimy usunąć zmienną środowiskową z ProcessBuilder.environment()

Parametry
key String: nazwa zmiennej;