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 (boolean inheritEnvVars) |
Публичные методы | |
---|---|
void | allowInterrupt (boolean allow) Разрешает/запрещает выполнение прерываний в текущем потоке. |
static IRunUtil | getDefault () Получите ссылку на объект |
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) Связывает |
Process | runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command) Альтернативный метод |
Process | runCmdInBackground ( command) runCmdInBackground ( command) Альтернативный метод |
Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) Выполнение команды с |
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) Сбрасывает переменную среды, поэтому системные команды выполняются без этой переменной среды. Переменные среды могут наследовать от родительского процесса, поэтому нам нужно удалить переменную среды из |
Поля
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Общественные конструкторы
RunUtil
public RunUtil (boolean inheritEnvVars)
Параметры | |
---|---|
inheritEnvVars | boolean |
Публичные методы
разрешить прерывание
public void allowInterrupt (boolean allow)
Разрешает/запрещает выполнение прерываний в текущем потоке. Если это разрешено, операции запуска текущего потока могут быть прерваны из других потоков с помощью метода interrupt(Thread, String)
.
Параметры | |
---|---|
allow | boolean : разрешить ли прерывание выполнения в текущем потоке. |
получить по умолчанию
public static IRunUtil getDefault ()
Получите ссылку на объект RunUtil
по умолчанию.
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 : имя переменной. |
См. также: