RunUtil

public class RunUtil
extends Object implements IRunUtil

java.lang.Объект
com.android.tradefed.util.RunUtil


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

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

Поля

public static final String INHERITIO_PREFIX

public static final String RUNNABLE_NOTIFIER_NAME

Общественные конструкторы

RunUtil ()

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

RunUtil (boolean inheritEnvVars)

Публичные методы

void allowInterrupt (boolean allow)

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

static IRunUtil getDefault ()

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

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

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

void interrupt (Thread thread, String message)

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

boolean isInterruptAllowed ()

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

static void linkFile (File destRoot, String relToRoot, File target)

Связывает target с местом под destRoot .

Process runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command)

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

Process runCmdInBackground ( command) runCmdInBackground ( command)

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

Process runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output)

Выполнение команды с ERROR(/OutputStream) регистрирует выходные данные команды.

Process runCmdInBackground (String... command)

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

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

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

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

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

CommandResult runTimedCmd (long timeout, 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, File stdoutFile, File stderrFile, String... command)

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

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

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

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

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

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

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

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

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

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

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

CommandResult runTimedCmdWithOutputMonitor (long timeout, long idleOutputTimeout, OutputStream stdout, OutputStream stderr, ICacheClient cacheClient, 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 для процесса, выполняющегося с помощью методов #runTimed, когда он достигает тайм-аута.

void setRedirectStderrToStdout (boolean redirect)

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

void setWorkingDir (File dir)

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

void sleep (long time)

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

static String toRelative (File start, String target)
void unsetEnvVariable (String key)

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

Поля

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Общественные конструкторы

RunUtil

public RunUtil ()

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

RunUtil

public RunUtil (boolean inheritEnvVars)

Параметры
inheritEnvVars boolean

Публичные методы

разрешить прерывание

public void allowInterrupt (boolean allow)

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

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

получить по умолчанию

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.

ссылкаФайл

public static void linkFile (File destRoot, 
                String relToRoot, 
                File target)

Связывает target с местом под destRoot .

Если целевой файл или символическая ссылка уже существует в destRoot , файл не будет связан.

Параметры
destRoot File : корень места назначения.

relToRoot String : относительный путь от каталога назначения до корня.

target File : целевой файл, который будет связан.

Броски
если целевой файл не может быть связан.

запуститьCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

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

Параметры
redirect Redirect : ERROR(/Redirect) применяемая к ProcessBuilder .

command : ERROR(/List) , содержащая указанную системную команду и, необязательно, аргументы для выполнения.

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

запуститьCmdInBackground

public Process runCmdInBackground ( command)

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

Параметры
command : ERROR(/List) , содержащая указанную системную команду и, необязательно, аргументы для выполнения.

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

запуститьCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

Выполнение команды с ERROR(/OutputStream) регистрирует выходные данные команды. Stdout и stderr объединяются.

Параметры
command : команда для запуска

output OutputStream : OutputStream для сохранения вывода.

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

запуститьCmdInBackground

public Process runCmdInBackground (String... command)

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

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

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

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

запуститьCmdInBackground

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

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

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

Параметры
redirect Redirect : ERROR(/Redirect) применяемая к ProcessBuilder .

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

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

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

запуститьFixedTimedRetry

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)

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

Параметры
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, 
                OutputStream stdout, 
                OutputStream stderr, 
                String... command)

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

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

stdout OutputStream : ERROR(/OutputStream) , где будет перенаправлен стандартный вывод. Может быть нулевым.

stderr OutputStream : ERROR(/OutputStream) , куда будет перенаправлен вывод ошибки. Может быть нулевым.

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

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

runTimedCmd

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

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

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

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

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

runTimedCmdRetry

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

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

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

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

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

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

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

runTimedCmdRetryWithOutputMonitor

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

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

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

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

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

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

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

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

runTimedCmdSilently

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

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

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

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

Возврат
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 : указанная системная команда и, необязательно, аргументы для выполнения.

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

runTimedCmdWithInput

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

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

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

input String : входные данные стандартного ввода для передачи в процесс.

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

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

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

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

runTimedCmdWithInput

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

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

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

input String : входные данные стандартного ввода для передачи в процесс.

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

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

runTimedCmdWithInput

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

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

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

input String : входные данные стандартного ввода для передачи в процесс.

command : ERROR(/List) , содержащая системную команду и, необязательно, аргументы для выполнения.

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

runTimedCmdWithInputRedirect

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

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

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

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

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

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

runTimedCmdWithOutputMonitor

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

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

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

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

stdout OutputStream : ERROR(/OutputStream) , где будет перенаправлен стандартный вывод. Может быть нулевым.

stderr OutputStream : ERROR(/OutputStream) , куда будет перенаправлен вывод ошибки. Может быть нулевым.

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

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

runTimedCmdWithOutputMonitor

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

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

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

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

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

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

runTimedCmdWithOutputMonitor

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

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

Если указан cacheClient , кэширование будет включено. Если кеш доступен, будет возвращен кешированный результат. В противном случае для выполнения команды будет использоваться runTimedCmdWithOutputMonitor(long, long, OutputStream, OutputStream, String) , а результат будет загружен для кэширования.

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

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

stdout OutputStream : ERROR(/OutputStream) , где будет перенаправлен стандартный вывод. Может быть нулевым.

stderr OutputStream : ERROR(/OutputStream) , куда будет перенаправлен вывод ошибки. Может быть нулевым.

cacheClient ICacheClient : экземпляр ICacheClient используемый для управления кэшированием.

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)

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

Параметры
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)

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

Параметры
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 : время ожидания перед установкой прерывания.

setLinuxInterruptProcess

public void setLinuxInterruptProcess (boolean interrupt)

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

Параметры
interrupt boolean

setRedirectStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

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

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

setWorkingDir

public void setWorkingDir (File dir)

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

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

спать

public void sleep (long time)

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

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

toRelative

public static String toRelative (File start, 
                String target)

Параметры
start File

target String

Возврат
String

unsetEnvVariable

public void unsetEnvVariable (String key)

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

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

См. также: