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