RunUtil

public class RunUtil
extends Object implements IRunUtil

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


Набор вспомогательных методов для выполнения операций.

Краткое содержание

Константы

String INHERITIO_PREFIX

String RUNNABLE_NOTIFIER_NAME

Государственные строители

RunUtil ()

Создайте новый объект RunUtil для использования.

RunUtil (boolean inheritEnvVars)

Общедоступные методы

void allowInterrupt (boolean allow)

Разрешает/запрещает выполнение прерываний в текущем потоке.

ProcessBuilder createProcessBuilder (ProcessBuilder.Redirect redirect, List<String> commandList, boolean enableCache)
static IRunUtil getDefault ()

Получите ссылку на объект RunUtil по умолчанию.

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

Прерывает текущие/предстоящие операции выполнения в указанном потоке.

void interrupt (Thread thread, String message)

Прерывает текущие/предстоящие операции выполнения в указанном потоке.

boolean isInterruptAllowed ()

Укажите состояние прерывания функции RunUtil.

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

Альтернативный метод runCmdInBackground(String...) , принимающий аргументы команды в виде List .

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

Вспомогательный метод для асинхронного выполнения системной команды.

Process runCmdInBackground (List<String> command)

Альтернативный метод runCmdInBackground(String...) , принимающий аргументы команды в виде List .

Process runCmdInBackground (String... command)

Вспомогательный метод для асинхронного выполнения системной команды.

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

При выполнении команды с использованием OutputStream вывод команды записывается в лог.

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

Блокирует выполнение операции и выполняет её несколько раз до тех пор, пока она не будет успешно завершена.

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

Блокирует выполнение операции и выполняет её несколько раз до тех пор, пока она не будет успешно завершена.

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

Блокирует выполнение операции и выполняет её несколько раз до тех пор, пока она не будет успешно завершена.

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

Блокирует и выполняет операцию, прерывая её, если она занимает больше времени, чем указано.

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

Вспомогательный метод для выполнения системной команды, прерывающий выполнение, если оно занимает больше времени, чем указано.

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

Вспомогательный метод для выполнения системной команды, прерывания выполнения, если оно занимает больше указанного времени, и перенаправления вывода в файлы, если это указано.

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

Вспомогательный метод для выполнения системной команды, прерывающий выполнение, если оно занимает больше времени, чем указано.

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

Вспомогательный метод для выполнения системной команды, прерывающий выполнение, если оно занимает больше времени, чем указано.

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

Вспомогательный метод для выполнения системной команды, прерывающий выполнение, если оно занимает больше времени, чем указано.

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

Вспомогательный метод для выполнения системной команды, прерывающий выполнение, если оно занимает больше времени, чем указано.

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

Вспомогательный метод для выполнения системной команды, требующей ввода из стандартного потока ввода (stdin), с прерыванием выполнения, если оно занимает больше времени, чем указано.

CommandResult runTimedCmdWithInput (long timeout, String input, List<String> command)

Вспомогательный метод для выполнения системной команды, требующей ввода из стандартного потока ввода (stdin), с прерыванием выполнения, если оно занимает больше времени, чем указано.

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

Вспомогательный метод для выполнения системной команды, прерывания выполнения, если оно занимает больше указанного времени, и перенаправления вывода в файлы, если это указано.

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

Вспомогательный метод для выполнения системной команды, требующей перенаправления стандартного ввода из файла, и прерывания выполнения, если оно занимает больше времени, чем указано.

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

Вспомогательный метод для выполнения системной команды, прерывающий выполнение, если оно занимает больше времени, чем указано.

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

Вспомогательный метод для выполнения системной команды, прерывания выполнения, если оно занимает больше указанного времени, и перенаправления вывода в файлы, если это указано.

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

Блокирует выполнение операции и выполняет её несколько раз до тех пор, пока она не будет успешно завершена.

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

Блокирует выполнение операции и выполняет её несколько раз до тех пор, пока она не будет успешно завершена.

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

Блокирует и выполняет операцию, прерывая её, если она занимает больше времени, чем указано.

void setEnvVariable (String name, String value)

Устанавливает переменную среды, которая будет использоваться при выполнении системных команд.

void setEnvVariablePriority ( IRunUtil.EnvPriority priority)

Определите, следует ли при создании процесса отменять установку переменных среды с более высоким приоритетом, чем устанавливать их.

void setInterruptibleInFuture (Thread thread, long timeMs)

Установить параметр "можно прервать после некоторого времени ожидания".

void setLinuxInterruptProcess (boolean interrupt)

Разрешить использование прерывания процесса с помощью команды `kill` в Linux при достижении таймаута.

void setRedirectStderrToStdout (boolean redirect)

Настройте стандартный поток ошибок таким образом, чтобы при выполнении системных команд он перенаправлялся в стандартный поток вывода.

void setWorkingDir (File dir)

Задает рабочий каталог для системных команд.

void sleep (long time)

Вспомогательный метод для приостановки выполнения на заданное время, игнорируя любые исключения.

void unsetEnvVariable (String key)

Эта функция удаляет переменную окружения, поэтому системные команды выполняются без этой переменной. Переменные окружения могут наследоваться от родительского процесса, поэтому нам необходимо удалить переменную окружения из ProcessBuilder.environment()

Константы

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

Постоянное значение: "наследственность-"

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Постоянное значение: "RunnableNotifier"

Государственные строители

RunUtil

public RunUtil ()

Создайте новый объект RunUtil для использования.

RunUtil

public RunUtil (boolean inheritEnvVars)

Параметры
inheritEnvVars boolean

Общедоступные методы

allowInterrupt

public void allowInterrupt (boolean allow)

Разрешает/запрещает прерывания выполнения в текущем потоке. Если это разрешено, операции выполнения текущего потока могут быть прерваны другими потоками с помощью метода interrupt(Thread, String) .

Параметры
allow boolean : разрешать ли прерывания выполнения в текущем потоке.

createProcessBuilder

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

Параметры
redirect ProcessBuilder.Redirect

commandList List

enableCache boolean

Возвраты
ProcessBuilder

getDefault

public static IRunUtil getDefault ()

Получите ссылку на объект RunUtil по умолчанию.

Это полезно для тех, кто хочет использовать IRunUtil без каких-либо настроек. Рекомендуется, чтобы те, кому необходим собственный экземпляр IRunUtil (т.е. кому нужно вызвать либо setEnvVariable(String,String) , либо setWorkingDir(File) создавали свою собственную копию.

Возвраты
IRunUtil

прерывать

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

Прерывает текущие/предстоящие операции выполнения в указанном потоке. В результате выполнения операций в указанном потоке будет выброшено исключение RunInterruptedException .

Параметры
message String : сообщение об RunInterruptedException .

errorId ErrorIdentifier : указывает причину прерывания, если она известна.

прерывать

public void interrupt (Thread thread, 
                String message)

Прерывает текущие/предстоящие операции выполнения в указанном потоке. В результате выполнения операций в указанном потоке будет выброшено исключение RunInterruptedException .

Параметры
message String : сообщение об RunInterruptedException .

isInterruptAllowed

public boolean isInterruptAllowed ()

Укажите состояние прерывания функции RunUtil.

Возвраты
boolean Возвращает true, если выполнение может быть прервано, false в противном случае.

runCmdInBackground

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

Альтернативный метод runCmdInBackground(String...) , принимающий аргументы команды в виде List .

Параметры
redirect ProcessBuilder.Redirect : Redirect , применяемое к ProcessBuilder .

command List : List , содержащий указанную системную команду и, при необходимости, аргументы для команды exec.

Возвраты
Process Process выполнения команды

Броски
IOException

runCmdInBackground

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

Вспомогательный метод для асинхронного выполнения системной команды.

Вернется сразу после выполнения команды.

Параметры
redirect ProcessBuilder.Redirect : Redirect , применяемое к ProcessBuilder .

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
Process Process выполнения команды

Броски
IOException

runCmdInBackground

public Process runCmdInBackground (List<String> command)

Альтернативный метод runCmdInBackground(String...) , принимающий аргументы команды в виде List .

Параметры
command List : List , содержащий указанную системную команду и, при необходимости, аргументы для команды exec.

Возвраты
Process Process выполнения команды

Броски
IOException

runCmdInBackground

public Process runCmdInBackground (String... command)

Вспомогательный метод для асинхронного выполнения системной команды.

Вернется сразу после выполнения команды.

Параметры
command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
Process Process выполнения команды

Броски
IOException

runCmdInBackground

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

При выполнении команды с использованием OutputStream вывод команды записывается в лог. Стандартный вывод и стандартная ошибка объединяются.

Параметры
command List : команда для выполнения

output OutputStream : поток вывода для сохранения результатов.

Возвраты
Process Process , выполняющий команду

Броски
IOException

runEscalatingTimedRetry

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

Блокирует выполнение операции и выполняет её несколько раз до тех пор, пока она не будет успешно завершена.

Увеличивайте время ожидания между попытками выполнения операции в геометрической прогрессии. Это предназначено для использования при выполнении таких операций, как опрос сервера, чтобы дать ему время восстановиться в случае временного сбоя.

Параметры
opTimeout long : максимальное время ожидания в миллисекундах для одной попытки выполнения операции.

initialPollInterval long : начальное время ожидания между попытками выполнения операции.

maxPollInterval long : максимальное время ожидания между попытками выполнения операции.

maxTime long : приблизительное максимальное время, в течение которого могут повторяться попытки выполнения операции.

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult для выполнения

Возвраты
boolean true , если операция успешно завершилась до истечения времени maxTime.

runFixedTimedRetry

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

Блокирует выполнение операции и выполняет её несколько раз до тех пор, пока она не будет успешно завершена.

Параметры
opTimeout long : максимальное время ожидания в миллисекундах для одной попытки выполнения операции.

pollInterval long : начальное время ожидания между попытками выполнения операции.

maxTime long : приблизительное максимальное время, в течение которого могут повторяться попытки выполнения операции.

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult для выполнения

Возвраты
boolean true , если операция успешно завершилась до истечения времени maxTime.

runFixedTimedRetryWithOutputMonitor

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

Блокирует выполнение операции и выполняет её несколько раз до тех пор, пока она не будет успешно завершена. Также отслеживает активность в выходных потоках, прерывая выполнение, если в течение указанного времени активность потока не наблюдается. Если idleOutputTimeout установлен на ноль, мониторинг потока не будет выполняться.

Параметры
opTimeout long : максимальное время ожидания в миллисекундах для одной попытки выполнения операции.

idleOutputTimeout long : максимальное время ожидания в миллисекундах вывода данных из выходных потоков.

pollInterval long : начальное время ожидания между попытками выполнения операции.

maxTime long : приблизительное максимальное время, в течение которого могут повторяться попытки выполнения операции.

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult для выполнения

Возвраты
boolean true , если операция успешно завершилась до истечения времени maxTime.

runTimed

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

Блокирует и выполняет операцию, прерывая её, если она занимает больше времени, чем указано.

Параметры
timeout long : максимальное время ожидания в миллисекундах

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult для выполнения

logErrors boolean : регистрировать ошибки при возникновении исключений или нет.

Возвраты
CommandStatus Результат выполнения операции CommandStatus .

runTimedCmd

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

Вспомогательный метод для выполнения системной команды, прерывающий выполнение, если оно занимает больше времени, чем указано.

Параметры
timeout long : максимальное время ожидания в миллисекундах. 0 означает отсутствие тайм-аута.

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedCmd

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

Вспомогательный метод для выполнения системной команды, прерывания выполнения, если оно занимает больше указанного времени, и перенаправления вывода в файлы, если это указано. Если таким образом предоставляются OutputStream , они останутся открытыми в конце функции.

Параметры
timeout long : timeout — максимальное время ожидания в миллисекундах. 0 означает отсутствие таймаута.

stdout OutputStream : OutputStream куда будет перенаправлен стандартный вывод. Может быть равен null.

stderr OutputStream : OutputStream куда будет перенаправлен вывод ошибок. Может быть равен null.

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedCmdRetry

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

Вспомогательный метод для выполнения системной команды, прерывающий выполнение, если оно занимает больше времени, чем указано.

Параметры
timeout long : максимальное время ожидания в миллисекундах для каждой попытки

retryInterval long : время ожидания между повторными попытками выполнения команды

attempts int : максимальное количество попыток

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedCmdRetryWithOutputMonitor

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

Вспомогательный метод для выполнения системной команды, прерывающий выполнение, если оно занимает больше указанного времени. Также отслеживает активность в выходных потоках, прерывая выполнение, если в течение указанного времени активность потока не наблюдается. Если idleOutputTimeout установлен в ноль, мониторинг потоков не будет выполняться.

Параметры
timeout long : максимальное время ожидания в миллисекундах для каждой попытки

idleOutputTimeout long : максимальное время ожидания в миллисекундах вывода данных из выходных потоков.

retryInterval long : время ожидания между повторными попытками выполнения команды

attempts int : максимальное количество попыток

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedCmdSilently

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

Вспомогательный метод для выполнения системной команды с прерыванием, если выполнение занимает больше времени, чем указано. Аналогичен методу runTimedCmd(long,String...) , но не регистрирует ошибки при возникновении исключений.

Параметры
timeout long : максимальное время ожидания в миллисекундах

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedCmdSilentlyRetry

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

Вспомогательный метод для выполнения системной команды и прерывания выполнения, если оно занимает больше указанного времени. Аналогичен методу runTimedCmdRetry(long,long,int,String[]) , но не регистрирует ошибки при возникновении исключений.

Параметры
timeout long : максимальное время ожидания в миллисекундах

retryInterval long : время ожидания между повторными попытками выполнения команды

attempts int : максимальное количество попыток

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedCmdWithInput

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

Вспомогательный метод для выполнения системной команды, требующей ввода из стандартного потока ввода (stdin), с прерыванием выполнения, если оно занимает больше времени, чем указано.

Параметры
timeout long : максимальное время ожидания в миллисекундах

input String : ввод данных из стандартного потока ввода, который будет передан процессу.

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedCmdWithInput

public CommandResult runTimedCmdWithInput (long timeout, 
                String input, 
                List<String> command)

Вспомогательный метод для выполнения системной команды, требующей ввода из стандартного потока ввода (stdin), с прерыванием выполнения, если оно занимает больше времени, чем указано.

Параметры
timeout long : максимальное время ожидания в миллисекундах

input String : ввод данных из стандартного потока ввода, который будет передан процессу.

command List : List содержащий системную команду и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedCmdWithInput

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

Вспомогательный метод для выполнения системной команды, прерывания выполнения, если оно занимает больше указанного времени, и перенаправления вывода в файлы, если это указано.

Параметры
timeout long : timeout — максимальное время ожидания в миллисекундах. 0 означает отсутствие таймаута.

input String : ввод данных из стандартного потока ввода, который будет передан процессу.

stdoutFile File : File , куда будет перенаправлен стандартный вывод. Может быть пустым (null).

stderrFile File : File , куда будет перенаправлен вывод ошибок. Может быть пустым (null).

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedCmdWithInputRedirect

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

Вспомогательный метод для выполнения системной команды, требующей перенаправления стандартного ввода из файла, и прерывания выполнения, если оно занимает больше времени, чем указано.

Параметры
timeout long : максимальное время ожидания в миллисекундах

inputRedirect File : File , который будет перенаправлен в качестве стандартного ввода с помощью ProcessBuilder.redirectInput() . Если значение равно null, стандартный ввод перенаправляться не будет.

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedCmdWithOutputMonitor

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

Вспомогательный метод для выполнения системной команды, прерывающий выполнение, если оно занимает больше указанного времени. Также отслеживает активность в выходных потоках, прерывая выполнение, если в течение указанного времени активность потока не наблюдается. Если idleOutputTimeout установлен в ноль, мониторинг потоков не будет выполняться.

Параметры
timeout long : максимальное время ожидания в миллисекундах. 0 означает отсутствие тайм-аута.

idleOutputTimeout long : максимальное время ожидания в миллисекундах вывода данных из выходных потоков.

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedCmdWithOutputMonitor

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

Вспомогательный метод для выполнения системной команды, прерывания выполнения, если оно занимает больше указанного времени, и перенаправления вывода в файлы, если это указано. Если таким образом предоставляются OutputStream , они останутся открытыми в конце функции.

Параметры
timeout long : timeout — максимальное время ожидания в миллисекундах. 0 означает отсутствие таймаута.

idleOutputTimeout long : максимальное время ожидания в миллисекундах вывода данных из выходных потоков.

stdout OutputStream : OutputStream куда будет перенаправлен стандартный вывод. Может быть равен null.

stderr OutputStream : OutputStream куда будет перенаправлен вывод ошибок. Может быть равен null.

command String : указанная системная команда и, при необходимости, аргументы для команды exec.

Возвраты
CommandResult Объект CommandResult содержащий результат выполнения команды.

runTimedRetry

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

Блокирует выполнение операции и выполняет её несколько раз до тех пор, пока она не будет успешно завершена.

Параметры
opTimeout long : максимальное время ожидания в миллисекундах для одной попытки выполнения операции

pollInterval long : время ожидания между повторными попытками выполнения команды

attempts int : максимальное количество попыток

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult для выполнения

Возвраты
boolean true , если операция успешно завершилась до достижения заданного количества попыток.

runTimedRetryWithOutputMonitor

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

Блокирует выполнение операции и выполняет её несколько раз до тех пор, пока она не будет успешно завершена. Также отслеживает активность в выходных потоках, прерывая выполнение, если в течение указанного времени активность потока не наблюдается. Если idleOutputTimeout установлен на ноль, мониторинг потока не будет выполняться.

Параметры
opTimeout long : максимальное время ожидания в миллисекундах для одной попытки выполнения операции

idleOutputTimeout long : максимальное время ожидания в миллисекундах вывода данных из выходных потоков.

pollInterval long : время ожидания между повторными попытками выполнения команды

attempts int : максимальное количество попыток

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult для выполнения

Возвраты
boolean true , если операция успешно завершилась до достижения заданного количества попыток.

runTimedWithOutputMonitor

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

Блокирует и выполняет операцию, прерывая её, если она занимает больше указанного времени. Также отслеживает активность в выходных потоках, прерывая её, если в течение указанного времени активность потока не наблюдается. Если idleOutputTimeout установлено на ноль, мониторинг потоков не будет выполняться.

Параметры
timeout long : максимальное время ожидания в миллисекундах

idleOutputTimeout long : максимальное время ожидания в миллисекундах вывода данных из выходных потоков.

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult для выполнения

logErrors boolean : регистрировать ошибки при возникновении исключений или нет.

Возвраты
CommandStatus Результат выполнения операции CommandStatus .

setEnvVariable

public void setEnvVariable (String name, 
                String value)

Устанавливает переменную среды, которая будет использоваться при выполнении системных команд.

Параметры
name String : имя переменной

value String : значение переменной

setEnvVariablePriority

public void setEnvVariablePriority (IRunUtil.EnvPriority priority)

Определите, будет ли при создании процесса приоритетнее сбрасывать переменные окружения, чем устанавливать их. По умолчанию приоритет выше у сброса: это означает, что если будет предпринята попытка установить переменную с тем же именем, она не будет установлена, поскольку переменная будет сброшена. Не может использоваться в стандартном экземпляре IRunUtil .

Параметры
priority IRunUtil.EnvPriority

setInterruptibleInFuture

public void setInterruptibleInFuture (Thread thread, 
                long timeMs)

Устанавливается как прерываемый после некоторого времени ожидания. ERROR(/CommandScheduler#shutdownHard()) для обеспечения завершения работы программы в конечном итоге.

Параметры
thread Thread : поток, который может быть прерван.

timeMs long : время ожидания перед установкой параметра interruptible.

setLinuxInterruptProcess

public void setLinuxInterruptProcess (boolean interrupt)

Разрешить использование прерывания 'kill' в Linux для процессов, запущенных через методы #runTimed, при достижении таймаута. Не может использоваться для экземпляра IRunUtil по умолчанию.

Параметры
interrupt boolean

setRedirectStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

Настройте стандартный поток ошибок для перенаправления в стандартный поток вывода при выполнении системных команд. Начальное значение — false.

Параметры
redirect boolean : новое значение, указывающее, следует ли перенаправлять пользователя.

setWorkingDir

public void setWorkingDir (File dir)

Задает рабочий каталог для системных команд.

Параметры
dir File : рабочий каталог

спать

public void sleep (long time)

Вспомогательный метод для приостановки выполнения на заданное время, игнорируя любые исключения.

Параметры
time long : время ожидания (мс). Значения меньше или равные 0 будут проигнорированы.

unsetEnvVariable

public void unsetEnvVariable (String key)

Эта функция удаляет переменную окружения, поэтому системные команды выполняются без этой переменной. Переменные окружения могут наследоваться от родительского процесса, поэтому нам необходимо удалить переменную окружения из ProcessBuilder.environment()

Параметры
key String : имя переменной

См. также: