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

Konstruktory publiczne

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(ProcessBuilder.Redirect redirect, List<String> commandList, boolean enableCache)
static IRunUtil getDefault()

Uzyskaj odwołanie 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(ProcessBuilder.Redirect redirect, List<String> command)

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

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

Metoda pomocnicza do asynchronicznego wykonywania polecenia systemowego.

Process runCmdInBackground(List<String> command)

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

Process runCmdInBackground(String... command)

Metoda pomocnicza do asynchronicznego wykonywania polecenia systemowego.

Process runCmdInBackground(List<String> command, OutputStream output)

Uruchom polecenie z parametrem OutputStream, aby zarejestrować dane wyjściowe polecenia.

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, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, 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, przerywania działania, jeśli trwa ono dłużej niż określony czas, i przekierowywania danych wyjściowych do plików (jeśli jest to określone).

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, 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, List<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, File stdoutFile, File stderrFile, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego, przerywania działania, jeśli trwa ono dłużej niż określony czas, i przekierowywania danych wyjściowych do plików (jeśli jest to określone).

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, String... command)

Metoda pomocnicza do wykonywania polecenia systemowego i przerywania go, 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, przerywania działania, jeśli trwa ono dłużej niż określony czas, i przekierowywania danych wyjściowych do plików (jeśli jest to określone).

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 procesu uruchomionego za pomocą metod #runTimed, gdy osiągnie on limit czasu.

void setRedirectStderrToStdout(boolean redirect)

Ustaw standardowy strumień błędów tak, aby podczas wykonywania poleceń systemowych przekierowywał dane 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 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

Wartość stała: "inheritio-"

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Wartość stała: "RunnableNotifier"

Konstruktory publiczne

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 uruchomienia w bieżącym wątku.

createProcessBuilder

public ProcessBuilder createProcessBuilder (ProcessBuilder.Redirect redirect, 
                List<String> commandList, 
                boolean enableCache)

Parametry
redirect ProcessBuilder.Redirect

commandList List

enableCache boolean

Zwraca
ProcessBuilder

getDefault

public static IRunUtil getDefault ()

Uzyskaj odwołanie do domyślnego obiektu RunUtil.

Jest to przydatne dla osób dzwoniących, które chcą korzystać z IRunUtil bez dostosowywania. Zalecamy, aby osoby dzwoniące, które potrzebują niestandardowej instancji IRunUtil (np. muszą wywołać setEnvVariable(String,String) lub setWorkingDir(File)), utworzyły własną kopię.

Zwraca
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: reprezentuje przyczynę 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.

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

runCmdInBackground

public Process runCmdInBackground (ProcessBuilder.Redirect redirect, 
                List<String> command)

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

Parametry
redirect ProcessBuilder.Redirect: Redirect, które ma zostać zastosowane do ProcessBuilder.

command List: List zawierający określone polecenie systemowe i opcjonalnie argumenty do wykonania

Zwraca
Process Process wykonanego polecenia,

Zgłasza
IOException

runCmdInBackground

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

Metoda pomocnicza do asynchronicznego wykonywania polecenia systemowego.

Zwraca wartość natychmiast po uruchomieniu polecenia.

Parametry
redirect ProcessBuilder.Redirect: Redirect, które ma zostać zastosowane do ProcessBuilder.

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

Zwraca
Process Process wykonanego polecenia,

Zgłasza
IOException

runCmdInBackground

public Process runCmdInBackground (List<String> command)

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

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

Zwraca
Process Process wykonanego polecenia,

Zgłasza
IOException

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

Zwraca
Process Process wykonanego polecenia,

Zgłasza
IOException

runCmdInBackground

public Process runCmdInBackground (List<String> command, 
                OutputStream output)

Uruchom polecenie z parametrem OutputStream, aby zarejestrować dane wyjściowe polecenia. Stdout i stderr są scalane.

Parametry
command List: polecenie do uruchomienia

output OutputStream: OutputStream do zapisania danych wyjściowych.

Zwraca
Process Process uruchamiający polecenie,

Zgłasza
IOException

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.

Wykładniczo zwiększaj czas oczekiwania między próbami operacji. 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 próby wykonania operacji.

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

Zwraca
boolean true, jeśli operacja została ukończona 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

Zwraca
boolean true, jeśli operacja została ukończona 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

Zwraca
boolean true, jeśli operacja została ukończona 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.

Zwraca
CommandStatus CommandStatuswynik operacji.

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

Zwraca
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmd

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

Metoda pomocnicza do wykonywania polecenia systemowego, przerywania działania, jeśli trwa ono dłużej niż określony czas, i przekierowywania danych wyjściowych do plików (jeśli jest to określone). Jeśli OutputStream są podawane w ten sposób, po zakończeniu funkcji pozostaną otwarte.

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

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

stderr OutputStream: OutputStream miejsce przekierowania danych wyjściowych błędu. Może mieć wartość null.

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

Zwraca
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

Zwraca
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 0, 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

Zwraca
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

Zwraca
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

Zwraca
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

Zwraca
CommandResult CommandResult zawierający wynik uruchomionego polecenia.

runTimedCmdWithInput

public CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                List<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 List: List zawierający polecenie systemowe i opcjonalnie argumenty do wykonania

Zwraca
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, przerywania działania, jeśli trwa ono dłużej niż określony czas, i przekierowywania danych wyjściowych 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: File miejsce, do którego zostanie przekierowane standardowe wyjście. Może mieć wartość null.

stderrFile File: File miejsce przekierowania danych wyjściowych błędu. Może mieć wartość null.

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

Zwraca
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: 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

Zwraca
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 0, 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

Zwraca
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, przerywania działania, jeśli trwa ono dłużej niż określony czas, i przekierowywania danych wyjściowych do plików (jeśli jest to określone). Jeśli OutputStream są podawane w ten sposób, po zakończeniu 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: OutputStream miejsce, do którego zostanie przekierowane standardowe wyjście. Może mieć wartość null.

stderr OutputStream: OutputStream miejsce przekierowania danych wyjściowych błędu. Może mieć wartość null.

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

Zwraca
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

Zwraca
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

Zwraca
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 zaobserwuje ż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.

Zwraca
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 procesu uruchomionego za pomocą metod #runTimed, gdy osiągnie on 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 przekierowanie ma nastąpić

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 wyjątków.

Parametry
time long: ms do zaśnięcia. Wartości mniejsze lub równe 0 będą ignorowane.

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;