RunUtil

public class RunUtil
extends Object implements IRunUtil

java.lang.Object
   ↳ 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)

允许/禁止在当前线程上运行中断。

ProcessBuilder createProcessBuilder(Redirect redirect, commandList, boolean enableCache)
static IRunUtil getDefault()

获取对默认 RunUtil 对象的引用。

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

中断给定线程上正在进行/即将进行的运行操作。

void interrupt(Thread thread, String message)

中断给定线程上正在进行/即将进行的运行操作。

boolean isInterruptAllowed()

提供 RunUtil 的中断状态。

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

target 关联到 destRoot 下的某个地点。

Process runCmdInBackground(Redirect redirect, command)

另一种 runCmdInBackground(String) 方法,接受 ERROR(/List) 形式的命令参数。

Process runCmdInBackground( command)

另一种 runCmdInBackground(String) 方法,接受 ERROR(/List) 形式的命令参数。

Process 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)

一种辅助方法,用于执行需要 stdin 输入的系统命令,并在执行时间超过指定时间时中止系统命令。

CommandResult runTimedCmdWithInput(long timeout, String input, command)

用于执行需要 stdin 输入的系统命令的辅助方法,如果执行时间超过指定时间,则会中止。

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

用于执行需要从文件重定向 Stdin 的系统命令的辅助方法,如果执行时间超过指定时间,则会中止。

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)

允许在通过 #runTimed 方法运行的进程达到超时时使用 Linux“kill”中断。

void setRedirectStderrToStdout(boolean redirect)

在运行系统命令时,将标准错误流设置为重定向到标准输出流。

void setWorkingDir(File dir)

设置系统命令的工作目录。

void sleep(long time)

用于指定时间休眠的辅助方法,会忽略任何异常。

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

取消设置环境变量,以便系统命令在没有此环境变量的情况下运行。 环境变量可能会从父进程继承,因此我们需要从 ProcessBuilder.environment() 中删除环境变量

void uploadCache(ICacheClient cacheClient, ExecutableActionResult actionResult)

上传上次使用 cacheClient 运行的 ExecutableActionResult

字段

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

公共方法

allowInterrupt

public void allowInterrupt (boolean allow)

允许/禁止在当前线程上运行中断。如果允许,则当前线程的运行操作可以通过 interrupt(Thread, String) 方法从其他线程中断。

参数
allow boolean:是否允许对当前线程进行运行中断。

createProcessBuilder

public ProcessBuilder createProcessBuilder (Redirect redirect, 
                 commandList, 
                boolean enableCache)

参数
redirect Redirect

commandList

enableCache boolean

返回
ProcessBuilder

getDefault

public static IRunUtil getDefault ()

获取对默认 RunUtil 对象的引用。

对于希望在不进行自定义的情况下使用 IRunUtil 的调用方,这非常有用。建议确实需要自定义 IRunUtil 实例(即需要调用 setEnvVariable(String, String)setWorkingDir(File))的调用方自行创建副本。

返回
IRunUtil

中断

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

中断给定线程上正在进行/即将进行的运行操作。对给定线程运行的操作将抛出 RunInterruptedException

参数
message StringRunInterruptedException 的消息。

errorId ErrorIdentifier:表示中断原因(如果已知)。

中断

public void interrupt (Thread thread, 
                String message)

中断给定线程上正在进行/即将进行的运行操作。对给定线程运行的操作将抛出 RunInterruptedException

参数
message StringRunInterruptedException 的消息。

isInterruptAllowed

public boolean isInterruptAllowed ()

提供 RunUtil 的中断状态。

返回
boolean 如果可以中断运行,则为 true;否则为 false。

linkFile

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

targetdestRoot 下的某个地点相关联。

如果目标文件或符号链接已存在于 destRoot 下,则系统不会链接该文件。

参数
destRoot File:目标的根目录。

relToRoot String:从目标目录到根目录的相对路径。

target File:要关联的目标文件。

返回
File 符号链接

抛出
如果目标文件未能关联。

运行 CmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

另一种 runCmdInBackground(String) 方法,接受 ERROR(/List) 形式的命令参数。

参数
redirect Redirect:要应用于 ProcessBuilderERROR(/Redirect)

command :包含指定系统命令和可选的执行参数的 ERROR(/List)

返回
Process 所执行命令的 Process

runCmdInBackground

public Process runCmdInBackground ( command)

另一种 runCmdInBackground(String) 方法,接受 ERROR(/List) 形式的命令参数。

参数
command :包含指定系统命令和可选的 exec 参数的 ERROR(/List)

返回
Process 已执行命令的 Process

runCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

使用 ERROR(/OutputStream) 运行命令会记录命令的输出。 stdout 和 stderr 会合并在一起。

参数
command :要运行的命令

output OutputStream:用于保存输出的 OutputStream

返回
Process 运行该命令的 Process

runCmdInBackground

public Process runCmdInBackground (String... command)

用于异步执行系统命令的辅助方法。

在启动命令后立即返回。

参数
command String:指定的系统命令以及可选的 exec 参数

返回
Process 所执行命令的 Process

runCmdInBackground

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

用于异步执行系统命令的辅助方法。

在启动命令后立即返回。

参数
redirect Redirect:要应用于 ProcessBuilderERROR(/Redirect)

command String:指定的系统命令以及可选的 exec 参数

返回
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.IRunnableResultIRunUtil.IRunnableResult 要执行

返回
boolean 如果操作在 maxTime 过期之前成功完成,则返回 true

runFixedTimed 重试

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

阻塞并多次执行操作,直到操作成功为止。

参数
opTimeout long:单次操作尝试的等待时长上限(以毫秒为单位)

pollInterval long:操作尝试之间的初始等待时间

maxTime long:继续尝试操作的大致总时长上限

runnable IRunUtil.IRunnableResultIRunUtil.IRunnableResult 要执行

返回
boolean 如果操作在 maxTime 过期之前成功完成,则返回 true

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.IRunnableResultIRunUtil.IRunnableResult 要执行

返回
boolean 如果操作在 maxTime 过期之前成功完成,则返回 true

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 OutputStreamERROR(/OutputStream),标准输出将被重定向到该位置。可以为 null。

stderr OutputStream:错误输出将重定向到的 ERROR(/OutputStream)。可以为 null。

command String:指定的系统命令以及可选的 exec 参数

返回
CommandResult 包含命令运行结果的 CommandResult

runTimedCmd

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

用于执行系统命令的辅助方法,如果执行时间超过指定时间,则会中止。

参数
timeout long:最长等待时间(以毫秒为单位)。0 表示无超时。

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, 
                File stdoutFile, 
                File stderrFile, 
                String... command)

用于执行系统命令的辅助方法,如果执行时间超过指定时间,则会中止,并将输出重定向到文件(如果指定)。

参数
timeout long:超时等待的最长时间(以毫秒为单位)。0 表示不超时。

input String:要传递给进程的 stdin 输入

stdoutFile File:将重定向 std 输出的 ERROR(/File)。可以为 null。

stderrFile File:错误输出将重定向到的 ERROR(/File)。可以为 null。

command String:指定的系统命令以及可选的 exec 参数

返回
CommandResult 包含命令运行结果的 CommandResult

runTimedCmdWithInput

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

用于执行需要 stdin 输入的系统命令的辅助方法,如果执行时间超过指定时间,则会中止。

参数
timeout long:等待时长上限(以毫秒为单位)

input String:要传递给进程的 stdin 输入

command String:指定的系统命令以及可选的 exec 参数

返回
CommandResult 包含命令运行结果的 CommandResult

runTimedCmdWithInput

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

用于执行需要 stdin 输入的系统命令的辅助方法,如果执行时间超过指定时间,则会中止。

参数
timeout long:等待时长上限(以毫秒为单位)

input String:要传递给进程的 stdin 输入

command :包含系统命令和 exec(可选)参数的 ERROR(/List)

返回
CommandResult 包含命令运行结果的 CommandResult

runTimedCmdWithInputRedirect

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

用于执行需要从文件重定向 Stdin 的系统命令的辅助方法,如果执行时间超过指定时间,则会中止。

参数
timeout long:最长等待时间(毫秒)

inputRedirect File:要使用 ProcessBuilder.redirectInput() 重定向为标准输入的 ERROR(/File)。如果为 null,则不会重定向 stdin。

command String:指定的系统命令以及可选的 exec 参数

返回
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:将重定向 std 输出的 ERROR(/OutputStream)。可以为 null。

stderr OutputStream:错误输出将重定向到的 ERROR(/OutputStream)。可以为 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, 
                ICacheClient cacheClient, 
                String... command)

使用缓存执行系统命令的辅助方法。

如果指定 cacheClient,则将启用缓存。如果缓存可用,将返回缓存的结果。否则,系统将使用 runTimedCmdWithOutputMonitor(long, long, OutputStream, OutputStream, String) 来执行该命令,并上传结果以进行缓存。

参数
timeout long:超时等待的最长时间(以毫秒为单位)。0 表示不超时。

idleOutputTimeout long:等待输出流输出数据的最大时间(以毫秒为单位)。

stdout OutputStream:将重定向 std 输出的 ERROR(/OutputStream)。可以为 null。

stderr OutputStream:错误输出将重定向到的 ERROR(/OutputStream)。可以为 null。

cacheClient ICacheClient:用于处理缓存的 ICacheClient 实例。

command String:指定的系统命令和 exec 的可选参数。

返回
CommandResult 包含命令运行结果的 CommandResult

runTimed 重试

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.IRunnableResultIRunUtil.IRunnableResult 要执行

返回
boolean 如果操作在达到尝试次数上限之前成功完成,则返回 true

runTimedWithOutputMonitor

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

阻塞并执行操作,如果操作花费的时间超过指定时间,则中止。此外,还会监控输出流的活动,如果在指定时间内没有观察到任何流活动,则会中止。如果将 idleOutputTimeout 设置为零,则不会进行任何数据流监控。

参数
timeout long:等待时长上限(以毫秒为单位)

idleOutputTimeout long:等待输出流输出数据的最大时间(以毫秒为单位)

runnable IRunUtil.IRunnableResultIRunUtil.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)

允许在 Linux 中通过 #runTimed 方法运行的进程在达到超时状态时“终止”中断。 不能在默认 IRunUtil 实例上使用。

参数
interrupt boolean

setRedirectStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

在运行系统命令时,将标准错误流设置为重定向到标准输出流。初始值为 false。

参数
redirect boolean:用于确定是否重定向的新值

setWORKDir

public void setWorkingDir (File dir)

设置系统命令的工作目录。

参数
dir File:工作目录

sleep

public void sleep (long time)

帮助程序方法在给定时间内休眠,忽略所有异常。

参数
time long:进入休眠状态所需的毫秒数。系统会忽略小于或等于 0 的值

toRelative

public static String toRelative (File start, 
                File target)

参数
start File

target File

返回
String

toRelative

public static String toRelative (File start, 
                String target)

参数
start File

target String

返回
String

unsetEnvVariable

public void unsetEnvVariable (String key)

取消设置环境变量,以便系统命令在没有此环境变量的情况下运行。 环境变量可能继承自父级进程,因此我们需要从 ProcessBuilder.environment() 中删除环境变量

参数
key String:变量名称

uploadCache

public void uploadCache (ICacheClient cacheClient, 
                ExecutableActionResult actionResult)

上传使用 cacheClient 运行的最后一个 ExecutableActionResult

参数
cacheClient ICacheClient:用于上传结果的 ICacheClient

actionResult ExecutableActionResult:要上传的 ExecutableActionResult