IRunUtil

public interface IRunUtil

com.android.tradefed.util.IRunUtil


Interfejs do wykonywania operacji z opóźnieniem i komend systemowych.

Podsumowanie

Zagnieżdżone klasy

interface IRunUtil.IRunnableResult

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

Metody publiczne

abstract void allowInterrupt(boolean allow)

Umożliwia lub uniemożliwia przerywanie wątku.

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

Przerywa bieżące lub nadchodzące operacje w danym wątku.

abstract void interrupt(Thread thread, String message)

Przerywa bieżące lub nadchodzące operacje w danym wątku.

abstract boolean isInterruptAllowed()

Podać stan przerwania RunUtil.

abstract Process runCmdInBackground(Redirect redirect, command)

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

abstract Process runCmdInBackground( command)

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

abstract Process runCmdInBackground( command, OutputStream output)

Uruchomienie polecenia z opcją ERROR(/OutputStream) powoduje zapisanie danych wyjściowych polecenia w dzienniku.

abstract Process runCmdInBackground(String... command)

Metoda pomocnicza do wykonywania poleceń systemowych w tła.

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

Metoda pomocnicza do wykonywania poleceń systemowych w tła.

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie.

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie.

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie.

abstract CommandStatus runTimed(long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

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

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

Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone).

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas.

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas.

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas.

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas.

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas.

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

Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone).

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

Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych ze standardowego wejścia, oraz do przerywania, jeśli trwa dłużej niż określony czas.

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

Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych ze standardowego wejścia, oraz do przerywania, jeśli trwa dłużej niż określony czas.

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

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

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

Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone).

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas.

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

Metoda pomocnicza do wykonywania poleceń systemowych z pamięci podręcznej.

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie.

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie.

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

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

abstract void setEnvVariable(String key, String value)

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

abstract void setEnvVariablePriority(IRunUtil.EnvPriority priority)

Określ, czy podczas tworzenia procesu anulowanie ustawienia zmiennej środowiskowej ma wyższy priorytet niż ustawienie jej.

abstract void setInterruptibleInFuture(Thread thread, long timeMs)

Ustaw jako przerywalny po upływie określonego czasu oczekiwania.

abstract void setLinuxInterruptProcess(boolean interrupt)

Umożliwia użycie przerwania „kill” systemu Linux w procesie działającym za pomocą metody #runTimed, gdy osiągnie limit czasu.

abstract void setRedirectStderrToStdout(boolean redirect)

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

abstract void setWorkingDir(File dir)

Ustawia katalog roboczy dla poleceń systemowych.

abstract void sleep(long time)

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

abstract void unsetEnvVariable(String key)

anuluje ustawienie zmiennej środowiskowej, dzięki czemu polecenia systemowe są wykonywane bez tej zmiennej środowiskowej.

abstract void uploadCache(ICacheClient cacheClient, ExecutableActionResult actionResult)

Przesyła ostatnią wartość ExecutableActionResult z cacheClient.

Metody publiczne

allowInterrupt

public abstract void allowInterrupt (boolean allow)

Umożliwia lub uniemożliwia przerywanie wątku. Jeśli jest to dozwolone, operacje wykonywane w bieżącym wątku mogą być przerywane przez inne wątki za pomocą metody interrupt(Thread, String).

Parametry
allow boolean: określa, czy można przerywać działanie w bieżącym wątku.

przerywać

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

Przerywa bieżące lub nadchodzące operacje w danym wątku. Operacje wykonywane w danym wątku spowoduje wyjątek RunInterruptedException.

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

errorId ErrorIdentifier: przyczyna przerwania, jeśli jest znana.

przerywać

public abstract void interrupt (Thread thread, 
                String message)

Przerywa bieżące lub nadchodzące operacje w danym wątku. Operacje wykonywane w danym wątku spowoduje wyjątek RunInterruptedException.

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

isInterruptAllowed

public abstract boolean isInterruptAllowed ()

Podać stan przerwania RunUtil.

Zwroty
boolean Wartość true, jeśli działanie może zostać przerwane. W przeciwnym razie ma wartość false.

runCmdInBackground

public abstract Process runCmdInBackground (Redirect redirect, 
                 command)

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

Parametry
redirect Redirect: ERROR(/Redirect) do zastosowania w ProcessBuilder.

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

Zwroty
Process Process wykonywanego polecenia

Rzuty
jeśli polecenie nie zostało wykonane

runCmdInBackground

public abstract 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 wykonywanego polecenia

Rzuty
jeśli polecenie nie zostało wykonane

runCmdInBackground

public abstract Process runCmdInBackground ( command, 
                OutputStream output)

Uruchomienie polecenia z opcją ERROR(/OutputStream) powoduje zapisanie danych wyjściowych polecenia w dzienniku. Stdout i stderr są łączone.

Parametry
command : polecenie do wykonania

output OutputStream: OutputStream do zapisywania danych wyjściowych

Zwroty
Process Process uruchamia polecenie

Rzuty
IOException

runCmdInBackground

public abstract Process runCmdInBackground (String... command)

Metoda pomocnicza do wykonywania poleceń systemowych w tła.

Zwróci wartość natychmiast po uruchomieniu polecenia.

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

Zwroty
Process Process wykonywanego polecenia

Rzuty
jeśli polecenie nie zostało wykonane

runCmdInBackground

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

Metoda pomocnicza do wykonywania poleceń systemowych w tła.

Zwróci wartość natychmiast po uruchomieniu polecenia.

Parametry
redirect Redirect: ERROR(/Redirect) do zastosowania w ProcessBuilder.

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

Zwroty
Process Process wykonywanego polecenia

Rzuty
jeśli polecenie nie zostało wykonane

runEscalatingTimedRetry

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie.

Wykładniczo zwiększa czas oczekiwania między kolejnymi próbami wykonania operacji. Ta opcja jest przeznaczona do stosowania podczas wykonywania operacji, takiej jak odpytywanie serwera, aby dać mu czas na odzyskanie się w przypadku tymczasowej awarii.

Parametry
opTimeout long: maksymalny czas oczekiwania w ms na pojedynczą próbę wykonania 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: łączny przybliżony maksymalny czas próby wykonania operacji

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

Zwroty
boolean true, jeśli operacja została ukończona przed upływem czasu maxTime

runFixedTimedRetry

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie.

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

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

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

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

Zwroty
boolean true, jeśli operacja została ukończona przed upływem czasu maxTime

runFixedTimedRetryWithOutputMonitor

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie. Sprawdza też strumienie danych wyjściowych pod kątem aktywności, przerywając je, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli ustawienie idleOutputTimeout ma wartość 0, nie będzie monitorować strumienia.

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

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

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

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

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

Zwroty
boolean true, jeśli operacja została ukończona przed upływem czasu maxTime

runTimed

public abstract CommandStatus runTimed (long timeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

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

Parametry
timeout long: maksymalny czas oczekiwania w ms

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

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

Zwroty
CommandStatus CommandStatus wynik operacji.

runTimedCmd

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

Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone). Gdy ERROR(/OutputStream) zostaną podane w ten sposób, pozostaną otwarte na końcu funkcji.

Parametry
timeout long: maksymalny czas oczekiwania w ms. Wartość 0 oznacza brak limitu czasu.

stdout OutputStream: ERROR(/OutputStream), gdzie standardowe dane wyjściowe zostaną przekierowane. Może być puste.

stderr OutputStream: ERROR(/OutputStream), gdzie dane wyjściowe błędu zostaną przekierowane. Może być puste.

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

Zwroty
CommandResult CommandResult zawierający wynik wykonania polecenia.

runTimedCmd

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas.

Parametry
timeout long: maksymalny czas oczekiwania w ms. Wartość 0 oznacza brak limitu czasu.

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

Zwroty
CommandResult CommandResult zawierający wynik wykonania polecenia.

runTimedCmdRetry

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, 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 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 wykonania polecenia.

runTimedCmdRetryWithOutputMonitor

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. Sprawdza też strumienie wyjściowe pod kątem aktywności i przerywa je, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli ustawienie idleOutputTimeout ma wartość 0, nie będzie monitorowany żaden strumień.

Parametry
timeout long: maksymalny czas oczekiwania w ms na każdą próbę

idleOutputTimeout long: maksymalny czas oczekiwania na dane wyjściowe 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 wykonania polecenia.

runTimedCmdSilently

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to 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 ms

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

Zwroty
CommandResult CommandResult zawierający wynik wykonania polecenia.

runTimedCmdSilentlyRetry

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. Podobnie jak reguła runTimedCmdRetry(long, long, int, String[]), ale nie rejestruje żadnych błędów w przypadku wyjątków.

Parametry
timeout long: maksymalny czas oczekiwania w ms

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

runTimedCmdWithInput

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

Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone).

Parametry
timeout long: maksymalny czas oczekiwania w ms. Wartość 0 oznacza brak limitu czasu.

input String: dane wejściowe stdin przekazywane do przetwarzania

stdoutFile File: ERROR(/File), gdzie standardowe dane wyjściowe zostaną przekierowane. Może być puste.

stderrFile File: ERROR(/File), gdzie dane wyjściowe błędu zostaną przekierowane. Może być puste.

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

Zwroty
CommandResult CommandResult zawierający wynik wykonania polecenia.

runTimedCmdWithInput

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

Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych ze standardowego wejścia, oraz do przerywania, jeśli trwa dłużej niż określony czas.

Parametry
timeout long: maksymalny czas oczekiwania w ms

input String: dane wejściowe stdin przekazywane do przetwarzania

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

Zwroty
CommandResult CommandResult zawierający wynik wykonania polecenia.

runTimedCmdWithInput

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

Metoda pomocnicza do wykonywania polecenia systemowego, które wymaga danych wejściowych ze standardowego wejścia, oraz do przerywania, jeśli trwa dłużej niż określony czas.

Parametry
timeout long: maksymalny czas oczekiwania w ms

input String: dane wejściowe stdin przekazywane do przetwarzania

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

Zwroty
CommandResult CommandResult zawierający wynik wykonania polecenia.

runTimedCmdWithInputRedirect

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

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

Parametry
timeout long: maksymalny czas oczekiwania w ms

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

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

Zwroty
CommandResult CommandResult zawierający wynik wykonania polecenia.

runTimedCmdWithOutputMonitor

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

Metoda pomocnicza do wykonywania poleceń systemowych, przerywa je, jeśli zajmują więcej czasu niż określony czas, oraz przekierowuje dane wyjściowe do plików (jeśli są określone). Gdy ERROR(/OutputStream) zostaną podane w ten sposób, pozostaną otwarte na końcu funkcji.

Parametry
timeout long: maksymalny czas oczekiwania w ms. Wartość 0 oznacza brak limitu czasu.

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

stdout OutputStream: ERROR(/OutputStream), gdzie standardowe dane wyjściowe zostaną przekierowane. Może być puste.

stderr OutputStream: ERROR(/OutputStream), gdzie dane wyjściowe błędu zostaną przekierowane. Może być puste.

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

Zwroty
CommandResult CommandResult zawierający wynik wykonania polecenia.

runTimedCmdWithOutputMonitor

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

Metoda pomocnicza do wykonywania poleceń systemowych i przerywania, jeśli trwa to dłużej niż określony czas. Sprawdza też strumienie wyjściowe pod kątem aktywności i przerywa je, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli ustawienie idleOutputTimeout ma wartość 0, nie będzie monitorowany żaden strumień.

Parametry
timeout long: maksymalny czas oczekiwania w ms. Wartość 0 oznacza brak limitu czasu.

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

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

Zwroty
CommandResult CommandResult zawierający wynik wykonania polecenia.

runTimedCmdWithOutputMonitor

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

Metoda pomocnicza do wykonywania poleceń systemowych z pamięcią podręczną.

Jeśli określono wartość cacheClient, zostanie włączone buforowanie. Jeśli pamięć podręczna jest dostępna, zwrócony zostanie wynik z pamięci podręcznej. W przeciwnym razie polecenie zostanie wykonane z wartością runTimedCmdWithOutputMonitor(long, long, OutputStream, OutputStream, String), a jego wynik zostanie przesłany do pamięci podręcznej.

Parametry
timeout long: maksymalny czas oczekiwania w ms. Wartość 0 oznacza brak limitu czasu.

idleOutputTimeout long: maksymalny czas oczekiwania na dane wyjściowe w strumieniach danych (w ms).

stdout OutputStream: ERROR(/OutputStream), gdzie standardowe dane wyjściowe zostaną przekierowane. Może być puste.

stderr OutputStream: ERROR(/OutputStream), gdzie dane wyjściowe błędu zostaną przekierowane. Może być puste.

cacheClient ICacheClient: instancja ICacheClient używana do obsługi buforowania.

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

Zwroty
CommandResult CommandResult zawierający wynik wykonania polecenia.

runTimedRetry

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

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie.

Parametry
opTimeout long: maksymalny czas oczekiwania w ms na jedną próbę wykonania 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 abstract boolean runTimedRetryWithOutputMonitor (long opTimeout, 
                long idleOutputTimeout, 
                long pollInterval, 
                int attempts, 
                IRunUtil.IRunnableResult runnable)

Blokuje i wykonuje operację wielokrotnie, dopóki nie zakończy się pomyślnie. Sprawdza też strumienie danych wyjściowych pod kątem aktywności, przerywając je, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli ustawienie idleOutputTimeout ma wartość 0, nie będzie monitorować strumienia.

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

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

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 abstract CommandStatus runTimedWithOutputMonitor (long timeout, 
                long idleOutputTimeout, 
                IRunUtil.IRunnableResult runnable, 
                boolean logErrors)

Blokuje i wykonuje operację, a jeśli trwa dłużej niż określony czas, przerywa ją. Sprawdza też strumienie wyjściowe pod kątem aktywności i przerywa je, jeśli przez określony czas nie wykryje żadnej aktywności. Jeśli ustawienie idleOutputTimeout ma wartość 0, nie będzie monitorować strumienia.

Parametry
timeout long: maksymalny czas oczekiwania w ms

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

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult do wykonania

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

Zwroty
CommandStatus CommandStatus wynik operacji.

setEnvVariable

public abstract void setEnvVariable (String key, 
                String value)

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

Parametry
key String: nazwa zmiennej

value String: wartość zmiennej

setEnvVariablePriority

public abstract void setEnvVariablePriority (IRunUtil.EnvPriority priority)

Określ, czy podczas tworzenia procesu anulowanie ustawienia zmiennej środowiskowej ma wyższy priorytet niż ustawienie jej. Domyślnie anulowanie ma wyższy priorytet, co oznacza, że jeśli zostanie podjęta próba ustawienia zmiennej o tej samej nazwie, nie uda się to, ponieważ zmienna zostanie anulowana. Nie można ich używać w domyślnej instancji IRunUtil.

Parametry
priority IRunUtil.EnvPriority

setInterruptibleInFuture

public abstract void setInterruptibleInFuture (Thread thread, 
                long timeMs)

Ustaw jako przerywalny po upływie określonego czasu oczekiwania. ERROR(/CommandScheduler#shutdownHard()), abyśmy mogli je w końcu zakończyć.

Parametry
thread Thread: wątek, który stanie się przerywany.

timeMs long: czas oczekiwania przed przerwaniem ustawienia.

setLinuxInterruptProcess

public abstract void setLinuxInterruptProcess (boolean interrupt)

Umożliwia użycie przerwania „kill” systemu Linux w procesie działającym za pomocą metody #runTimed, gdy osiągnie limit czasu. Nie można ich używać w domyślnej instancji IRunUtil.

Parametry
interrupt boolean

setRedirectStderrToStdout

public abstract void setRedirectStderrToStdout (boolean redirect)

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

Parametry
redirect boolean: nowa wartość określająca, czy nastąpi przekierowanie

setWorkingDir

public abstract void setWorkingDir (File dir)

Ustawia katalog roboczy dla poleceń systemowych.

Parametry
dir File: katalog roboczy

do spania

public abstract void sleep (long time)

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

Parametry
time long: czas oczekiwania w ms. Wartości mniejsze lub równe 0 są ignorowane.

unsetEnvVariable

public abstract void unsetEnvVariable (String key)

anuluje ustawienie zmiennej środowiskowej, dzięki czemu polecenia systemowe są wykonywane bez tej zmiennej środowiskowej.

Parametry
key String: nazwa zmiennej

uploadCache

public abstract void uploadCache (ICacheClient cacheClient, 
                ExecutableActionResult actionResult)

Przesyła ostatnią wartość ExecutableActionResult z cacheClient.

Parametry
cacheClient ICacheClient: ICacheClient użyty do przesłania wyniku.

actionResult ExecutableActionResult: ExecutableActionResult do przesłania.