IRunUtil
public interface IRunUtil
com.android.tradefed.util.IRunUtil |
Интерфейс для запуска синхронизированных операций и системных команд.
Краткое содержание
Вложенные классы | |
---|---|
interface | IRunUtil.IRunnableResult Интерфейс для асинхронного выполнения операции, которая возвращает логический статус. |
Публичные методы | |
---|---|
abstract void | allowInterrupt (boolean allow) Разрешает/запрещает выполнение прерываний в текущем потоке. |
abstract void | interrupt (Thread thread, String message, ErrorIdentifier errorId) Прерывает текущие/предстоящие операции запуска в данном потоке. |
abstract void | interrupt (Thread thread, String message) Прерывает текущие/предстоящие операции запуска в данном потоке. |
abstract boolean | isInterruptAllowed () Дайте статус прерывания RunUtil. |
abstract Process | runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command) Альтернативный метод |
abstract Process | runCmdInBackground ( command) runCmdInBackground ( command) Альтернативный метод |
abstract Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) Выполнение команды с |
abstract Process | runCmdInBackground (String... command) Вспомогательный метод для асинхронного выполнения системной команды. |
abstract Process | runCmdInBackground (Redirect redirect, String... command) Вспомогательный метод для асинхронного выполнения системной команды. |
abstract boolean | runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Блокировать и выполнять операцию несколько раз, пока она не будет успешной. |
abstract boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Блокировать и выполнять операцию несколько раз, пока она не будет успешной. |
abstract CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) Блокирует и выполняет операцию, прерывая ее, если она занимает больше заданного времени. |
abstract CommandResult | runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command) Вспомогательный метод для выполнения системной команды, прерывания, если это занимает больше указанного времени, и перенаправления вывода в файлы, если указано. |
abstract CommandResult | runTimedCmd (long timeout, String... command) Вспомогательный метод для выполнения системной команды и прерывания, если это занимает больше заданного времени. |
abstract CommandResult | runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command) Вспомогательный метод для выполнения системной команды и прерывания, если это занимает больше заданного времени. |
abstract CommandResult | runTimedCmdSilently (long timeout, String... command) Вспомогательный метод для выполнения системной команды и прерывания, если это занимает больше заданного времени. |
abstract CommandResult | runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command) Вспомогательный метод для выполнения системной команды и прерывания, если это занимает больше заданного времени. |
abstract CommandResult | runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command) Вспомогательный метод для выполнения системной команды, прерывания, если это занимает больше указанного времени, и перенаправления вывода в файлы, если указано. |
abstract CommandResult | runTimedCmdWithInput (long timeout, String input, String... command) Вспомогательный метод для выполнения системной команды, требующей ввода на стандартный ввод, и прерывания, если это занимает больше заданного времени. |
abstract CommandResult | runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command) Вспомогательный метод для выполнения системной команды, требующей ввода на стандартный ввод, и прерывания, если это занимает больше заданного времени. |
abstract CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) Вспомогательный метод для выполнения системной команды, требующей перенаправления стандартного ввода из файла и прерывания, если это занимает больше заданного времени. |
abstract boolean | runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable) Блокировать и выполнять операцию несколько раз, пока она не будет успешной. |
abstract void | setEnvVariable (String key, String value) Задает переменную среды, которая будет использоваться при выполнении системных команд. |
abstract void | setEnvVariablePriority ( IRunUtil.EnvPriority priority) Решите, имеет ли при создании процесса отмена установки переменных среды более высокий приоритет, чем их установка. |
abstract void | setInterruptibleInFuture (Thread thread, long timeMs) Установить как прерываемый после некоторого времени ожидания. |
abstract void | setLinuxInterruptProcess (boolean interrupt) Разрешить использовать прерывание linux kill для процесса, работающего с помощью методов #runTimed, когда он достигает тайм-аута. |
abstract void | setRedirectStderrToStdout (boolean redirect) Установите стандартный поток ошибок для перенаправления на стандартный поток вывода при выполнении системных команд. |
abstract void | setWorkingDir (File dir) Устанавливает рабочий каталог для системных команд. |
abstract void | sleep (long time) Вспомогательный метод для сна в течение заданного времени, игнорируя любые исключения. |
abstract void | unsetEnvVariable (String key) Сбрасывает переменную среды, поэтому системные команды выполняются без этой переменной среды. |
Публичные методы
разрешить прерывание
public abstract void allowInterrupt (boolean allow)
Разрешает/запрещает выполнение прерываний в текущем потоке. Если это разрешено, операции выполнения текущего потока могут быть прерваны из других потоков с помощью метода interrupt(Thread, String)
.
Параметры | |
---|---|
allow | boolean : разрешать ли прерывания выполнения в текущем потоке. |
прерывать
public abstract void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Прерывает текущие/предстоящие операции запуска в данном потоке. Операции запуска в данном потоке вызовут RunInterruptedException
.
Параметры | |
---|---|
message | String : сообщение для RunInterruptedException . |
errorId | ErrorIdentifier : представление причины прерывания, если она известна. |
прерывать
public abstract void interrupt (Thread thread, String message)
Прерывает текущие/предстоящие операции запуска в данном потоке. Операции запуска в данном потоке вызовут RunInterruptedException
.
Параметры | |
---|---|
message | String : сообщение для RunInterruptedException . |
isInterruptAllowed
public abstract boolean isInterruptAllowed ()
Дайте статус прерывания RunUtil.
Возвращает | |
---|---|
boolean | true, если бег можно прервать, иначе false. |
запуститьCmdInBackground
public abstract Process runCmdInBackground (Redirect redirect,command)
Альтернативный метод runCmdInBackground(String)
, который принимает аргументы команды в форме ERROR(/List)
.
Параметры | |
---|---|
redirect | Redirect : ERROR(/Redirect) для применения к ProcessBuilder . |
command | ERROR(/List) , содержащая указанную системную команду и необязательные аргументы для выполнения |
Возвращает | |
---|---|
Process | Process выполняемой команды |
Броски | |
---|---|
| если команда не запустилась |
запуститьCmdInBackground
public abstract Process runCmdInBackground (command)
Альтернативный метод runCmdInBackground(String)
, который принимает аргументы команды в форме ERROR(/List)
.
Параметры | |
---|---|
command | ERROR(/List) , содержащая указанную системную команду и необязательные аргументы для выполнения |
Возвращает | |
---|---|
Process | Process выполняемой команды |
Броски | |
---|---|
| если команда не запустилась |
запуститьCmdInBackground
public abstract Process runCmdInBackground (command, OutputStream output)
Выполнение команды с ERROR(/OutputStream)
регистрирует выходные данные команды. Stdout и stderr объединены.
Параметры | |
---|---|
command | |
output | OutputStream : OutputStream для сохранения вывода |
Возвращает | |
---|---|
Process | Process , выполняющий команду |
Броски | |
---|---|
| IOException |
запуститьCmdInBackground
public abstract Process runCmdInBackground (String... command)
Вспомогательный метод для асинхронного выполнения системной команды.
Вернется сразу после запуска команды.
Параметры | |
---|---|
command | String : указанная системная команда и необязательные аргументы для выполнения |
Возвращает | |
---|---|
Process | Process выполняемой команды |
Броски | |
---|---|
| если команда не запустилась |
запуститьCmdInBackground
public abstract Process runCmdInBackground (Redirect redirect, String... command)
Вспомогательный метод для асинхронного выполнения системной команды.
Вернется сразу после запуска команды.
Параметры | |
---|---|
redirect | Redirect : ERROR(/Redirect) для применения к ProcessBuilder . |
command | String : указанная системная команда и необязательные аргументы для выполнения |
Возвращает | |
---|---|
Process | Process выполняемой команды |
Броски | |
---|---|
| если команда не запустилась |
runEscalatingTimedRetry
public abstract 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 abstract 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 |
RunTimed
public abstract CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Блокирует и выполняет операцию, прерывая ее, если она занимает больше заданного времени.
Параметры | |
---|---|
timeout | long : максимальное время ожидания в мс |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult для выполнения |
logErrors | boolean : регистрировать ошибки при исключении или нет. |
Возвращает | |
---|---|
CommandStatus | Результат операции CommandStatus . |
runTimedCmd
public abstract CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Вспомогательный метод для выполнения системной команды, прерывания, если это занимает больше указанного времени, и перенаправления вывода в файлы, если указано. Когда ERROR(/OutputStream)
предоставляются таким образом, они останутся открытыми в конце функции.
Параметры | |
---|---|
timeout | long : timeout максимальное время ожидания в мс. 0 означает отсутствие тайм-аута. |
stdout | OutputStream : ERROR(/OutputStream) , куда будет перенаправлен стандартный вывод. Может быть нулевым. |
stderr | OutputStream : ERROR(/OutputStream) , куда будет перенаправлен вывод ошибок. Может быть нулевым. |
command | String : указанная системная команда и необязательные аргументы для выполнения |
Возвращает | |
---|---|
CommandResult | CommandResult , содержащий результат выполнения команды |
runTimedCmd
public abstract CommandResult runTimedCmd (long timeout, String... command)
Вспомогательный метод для выполнения системной команды и прерывания, если это занимает больше заданного времени.
Параметры | |
---|---|
timeout | long : максимальное время ожидания в мс. 0 означает отсутствие тайм-аута. |
command | String : указанная системная команда и необязательные аргументы для выполнения |
Возвращает | |
---|---|
CommandResult | CommandResult , содержащий результат выполнения команды |
runTimedCmdRetry
public abstract CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
Вспомогательный метод для выполнения системной команды и прерывания, если это занимает больше заданного времени.
Параметры | |
---|---|
timeout | long : максимальное время ожидания в мс для каждой попытки |
retryInterval | long : время ожидания между повторными попытками команды |
attempts | int : максимальное количество попыток попробовать |
command | String : указанная системная команда и необязательные аргументы для выполнения |
Возвращает | |
---|---|
CommandResult | CommandResult , содержащий результат выполнения команды |
runTimedCmdSilently
public abstract CommandResult runTimedCmdSilently (long timeout, String... command)
Вспомогательный метод для выполнения системной команды и прерывания, если это занимает больше заданного времени. Аналогичен runTimedCmd(long, String)
, но не регистрирует никаких ошибок при исключении.
Параметры | |
---|---|
timeout | long : максимальное время ожидания в мс |
command | String : указанная системная команда и необязательные аргументы для выполнения |
Возвращает | |
---|---|
CommandResult | CommandResult , содержащий результат выполнения команды |
runTimedCmdSilentlyRetry
public abstract 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 abstract CommandResult runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command)
Вспомогательный метод для выполнения системной команды, прерывания, если это занимает больше указанного времени, и перенаправления вывода в файлы, если указано.
Параметры | |
---|---|
timeout | long : timeout максимальное время ожидания в мс. 0 означает отсутствие тайм-аута. |
input | String : ввод стандартного ввода для передачи в процесс |
stdoutFile | File : ERROR(/File) , куда будет перенаправлен стандартный вывод. Может быть нулевым. |
stderrFile | File : ERROR(/File) , куда будет перенаправлен вывод ошибок. Может быть нулевым. |
command | String : указанная системная команда и необязательные аргументы для выполнения |
Возвращает | |
---|---|
CommandResult | CommandResult , содержащий результат выполнения команды |
runTimedCmdWithInput
public abstract CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Вспомогательный метод для выполнения системной команды, требующей ввода на стандартный ввод, и прерывания, если это занимает больше заданного времени.
Параметры | |
---|---|
timeout | long : максимальное время ожидания в мс |
input | String : ввод стандартного ввода для передачи в процесс |
command | String : указанная системная команда и необязательные аргументы для выполнения |
Возвращает | |
---|---|
CommandResult | CommandResult , содержащий результат выполнения команды |
runTimedCmdWithInput
public abstract CommandResult runTimedCmdWithInput (long timeout, String input,command)
Вспомогательный метод для выполнения системной команды, требующей ввода на стандартный ввод, и прерывания, если это занимает больше заданного времени.
Параметры | |
---|---|
timeout | long : максимальное время ожидания в мс |
input | String : ввод стандартного ввода для передачи в процесс |
command | ERROR(/List) , содержащий системную команду и необязательные аргументы для выполнения |
Возвращает | |
---|---|
CommandResult | CommandResult , содержащий результат выполнения команды |
runTimedCmdWithInputRedirect
public abstract CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Вспомогательный метод для выполнения системной команды, требующей перенаправления стандартного ввода из файла и прерывания, если это занимает больше заданного времени.
Параметры | |
---|---|
timeout | long : максимальное время ожидания в мс |
inputRedirect | File : ERROR(/File) для перенаправления в качестве стандартного ввода с помощью ProcessBuilder.redirectInput() . Если null, стандартный ввод не будет перенаправлен. |
command | String : указанная системная команда и необязательные аргументы для выполнения |
Возвращает | |
---|---|
CommandResult | CommandResult , содержащий результат выполнения команды |
runTimedRetry
public abstract boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Блокировать и выполнять операцию несколько раз, пока она не будет успешной.
Параметры | |
---|---|
opTimeout | long : максимальное время ожидания в мс для одной попытки операции |
pollInterval | long : время ожидания между повторными попытками команды |
attempts | int : максимальное количество попыток попробовать |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult для выполнения |
Возвращает | |
---|---|
boolean | true , если операция завершилась успешно до достижения количества попыток. |
setEnvVariable
public abstract void setEnvVariable (String key, String value)
Задает переменную среды, которая будет использоваться при выполнении системных команд.
Параметры | |
---|---|
key | String : имя переменной |
value | String : значение переменной |
Смотрите также:
setEnvVariablePriority
public abstract void setEnvVariablePriority (IRunUtil.EnvPriority priority)
Решите, имеет ли при создании процесса отмена установки переменных среды более высокий приоритет, чем их установка. По умолчанию сброс имеет более высокий приоритет: это означает, что если будет предпринята попытка установить переменную с таким же именем, это не произойдет, поскольку переменная будет удалена. Нельзя использовать в экземпляре IRunUtil
по умолчанию.
Параметры | |
---|---|
priority | IRunUtil.EnvPriority |
setInterruptibleInFuture
public abstract void setInterruptibleInFuture (Thread thread, long timeMs)
Установить как прерываемый после некоторого времени ожидания. ERROR(/CommandScheduler#shutdownHard())
для принудительного прекращения работы.
Параметры | |
---|---|
thread | Thread : поток, который станет прерываемым. |
timeMs | long : время ожидания перед установкой прерывания. |
setLinuxInterruptProcess
public abstract void setLinuxInterruptProcess (boolean interrupt)
Разрешить использовать прерывание linux kill для процесса, работающего с помощью методов #runTimed, когда он достигает тайм-аута. Нельзя использовать в экземпляре IRunUtil
по умолчанию.
Параметры | |
---|---|
interrupt | boolean |
setRedirectStderrToStdout
public abstract void setRedirectStderrToStdout (boolean redirect)
Установите стандартный поток ошибок для перенаправления на стандартный поток вывода при выполнении системных команд. Начальное значение неверно.
Параметры | |
---|---|
redirect | boolean : новое значение для перенаправления или нет |
Смотрите также:
setWorkingDir
public abstract void setWorkingDir (File dir)
Устанавливает рабочий каталог для системных команд.
Параметры | |
---|---|
dir | File : рабочий каталог |
Смотрите также:
спать
public abstract void sleep (long time)
Вспомогательный метод для сна в течение заданного времени, игнорируя любые исключения.
Параметры | |
---|---|
time | long : мс спать. значения меньше или равные 0 будут игнорироваться |
unsetEnvVariable
public abstract void unsetEnvVariable (String key)
Сбрасывает переменную среды, поэтому системные команды выполняются без этой переменной среды.
Параметры | |
---|---|
key | String : имя переменной |
Смотрите также:
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2023-07-19 UTC.