RunUtil

public class RunUtil
extends Object implements IRunUtil

java.lang.Object
   ↳ com.android.tradefed.util.RunUtil


Một tập hợp các phương thức trợ giúp để thực thi các thao tác.

Tóm tắt

Hằng số

String INHERITIO_PREFIX

String RUNNABLE_NOTIFIER_NAME

Hàm khởi tạo công khai

RunUtil()

Tạo một đối tượng RunUtil mới để sử dụng.

RunUtil(boolean inheritEnvVars)

Phương thức công khai

void allowInterrupt(boolean allow)

Cho phép/không cho phép gián đoạn chạy trên luồng hiện tại.

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

Lấy một tham chiếu đến đối tượng RunUtil mặc định.

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

Làm gián đoạn các thao tác chạy đang diễn ra/sắp diễn ra trên luồng đã cho.

void interrupt(Thread thread, String message)

Làm gián đoạn các thao tác chạy đang diễn ra/sắp diễn ra trên luồng đã cho.

boolean isInterruptAllowed()

Đưa ra trạng thái gián đoạn của RunUtil.

Process runCmdInBackground(Redirect redirect, command)

Một phương thức runCmdInBackground(String) thay thế chấp nhận các đối số lệnh ở dạng ERROR(/List).

Process runCmdInBackground( command)

Một phương thức runCmdInBackground(String) thay thế chấp nhận các đối số lệnh ở dạng ERROR(/List).

Process runCmdInBackground( command, OutputStream output)

Chạy lệnh bằng nhật ký ERROR(/OutputStream) đầu ra của lệnh.

Process runCmdInBackground(String... command)

Phương thức trợ giúp để thực thi một lệnh hệ thống không đồng bộ.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống không đồng bộ.

boolean runEscalatingTimedRetry(long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Chặn và thực thi một thao tác nhiều lần cho đến khi thành công.

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

Chặn và thực thi một thao tác nhiều lần cho đến khi thành công.

boolean runFixedTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)

Chặn và thực thi một thao tác nhiều lần cho đến khi thành công.

CommandStatus runTimed(long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)

Chặn và thực thi một thao tác, huỷ bỏ nếu thao tác đó mất nhiều thời gian hơn một khoảng thời gian cụ thể.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống, huỷ bỏ nếu mất nhiều thời gian hơn một khoảng thời gian cụ thể và chuyển hướng đầu ra đến các tệp nếu được chỉ định.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống, huỷ bỏ nếu mất nhiều thời gian hơn một khoảng thời gian cụ thể và chuyển hướng đầu ra đến các tệp nếu được chỉ định.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống yêu cầu đầu vào stdin và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

CommandResult runTimedCmdWithInput(long timeout, String input, command)

Phương thức trợ giúp để thực thi một lệnh hệ thống yêu cầu đầu vào stdin và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống yêu cầu chuyển hướng Stdin từ một tệp và huỷ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống, huỷ bỏ nếu mất nhiều thời gian hơn một khoảng thời gian cụ thể và chuyển hướng đầu ra đến các tệp nếu được chỉ định.

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

boolean runTimedRetry(long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)

Chặn và thực thi một thao tác nhiều lần cho đến khi thành công.

boolean runTimedRetryWithOutputMonitor(long opTimeout, long idleOutputTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)

Chặn và thực thi một thao tác nhiều lần cho đến khi thành công.

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

Chặn và thực thi một thao tác, huỷ bỏ nếu thao tác đó mất nhiều thời gian hơn một khoảng thời gian cụ thể.

void setEnvVariable(String name, String value)

Đặt một biến môi trường sẽ được dùng khi chạy các lệnh hệ thống.

void setEnvVariablePriority(IRunUtil.EnvPriority priority)

Quyết định xem khi tạo một quy trình, việc huỷ đặt biến môi trường có mức độ ưu tiên cao hơn việc đặt biến môi trường hay không.

void setInterruptibleInFuture(Thread thread, long timeMs)

Đặt là có thể bị gián đoạn sau một khoảng thời gian chờ.

void setLinuxInterruptProcess(boolean interrupt)

Cho phép sử dụng lệnh gián đoạn "kill" của Linux trên quy trình đang chạy thông qua các phương thức #runTimed khi quy trình đạt đến thời gian chờ.

void setRedirectStderrToStdout(boolean redirect)

Đặt luồng lỗi chuẩn để chuyển hướng đến luồng đầu ra chuẩn khi chạy các lệnh hệ thống.

void setWorkingDir(File dir)

Đặt thư mục làm việc cho các lệnh hệ thống.

void sleep(long time)

Phương thức trợ giúp để ngủ trong thời gian nhất định, bỏ qua mọi trường hợp ngoại lệ.

void unsetEnvVariable(String key)

Huỷ thiết lập một biến môi trường, để các lệnh hệ thống chạy mà không có biến môi trường này. Các biến môi trường có thể kế thừa từ quy trình mẹ, vì vậy, chúng ta cần xoá biến môi trường khỏi ProcessBuilder.environment()

Hằng số

INHERITIO_PREFIX

public static final String INHERITIO_PREFIX

Giá trị không đổi: "inheritio-"

RUNNABLE_NOTIFIER_NAME

public static final String RUNNABLE_NOTIFIER_NAME

Giá trị không đổi: "RunnableNotifier"

Hàm khởi tạo công khai

RunUtil

public RunUtil ()

Tạo một đối tượng RunUtil mới để sử dụng.

RunUtil

public RunUtil (boolean inheritEnvVars)

Tham số
inheritEnvVars boolean

Phương thức công khai

allowInterrupt

public void allowInterrupt (boolean allow)

Cho phép/không cho phép gián đoạn chạy trên luồng hiện tại. Nếu được phép, các thao tác chạy của luồng hiện tại có thể bị gián đoạn từ các luồng khác thông qua phương thức interrupt(Thread, String).

Tham số
allow boolean: có cho phép các gián đoạn chạy trên luồng hiện tại hay không.

createProcessBuilder

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

Tham số
redirect Redirect

commandList

enableCache boolean

Giá trị trả về
ProcessBuilder

getDefault

public static IRunUtil getDefault ()

Lấy một tham chiếu đến đối tượng RunUtil mặc định.

Điều này hữu ích cho những người gọi muốn sử dụng IRunUtil mà không cần tuỳ chỉnh. Người gọi cần một thực thể IRunUtil tuỳ chỉnh (tức là cần gọi setEnvVariable(String, String) hoặc setWorkingDir(File)) nên tạo bản sao của riêng họ.

Giá trị trả về
IRunUtil

gián đoạn

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

Làm gián đoạn các thao tác chạy đang diễn ra/sắp diễn ra trên luồng đã cho. Các thao tác chạy trên luồng đã cho sẽ gửi RunInterruptedException.

Tham số
message String: thông báo cho RunInterruptedException.

errorId ErrorIdentifier: Biểu thị nguyên nhân gây ra sự gián đoạn (nếu có).

gián đoạn

public void interrupt (Thread thread, 
                String message)

Làm gián đoạn các thao tác chạy đang diễn ra/sắp diễn ra trên luồng đã cho. Các thao tác chạy trên luồng đã cho sẽ gửi RunInterruptedException.

Tham số
message String: thông báo cho RunInterruptedException.

isInterruptAllowed

public boolean isInterruptAllowed ()

Đưa ra trạng thái gián đoạn của RunUtil.

Giá trị trả về
boolean true nếu Run có thể bị gián đoạn, false nếu không.

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

Một phương thức runCmdInBackground(String) thay thế chấp nhận các đối số lệnh ở dạng ERROR(/List).

Tham số
redirect Redirect: ERROR(/Redirect) để áp dụng cho ProcessBuilder.

command : ERROR(/List) chứa lệnh hệ thống đã chỉ định và các đối số (không bắt buộc) để thực thi

Giá trị trả về
Process Process của lệnh đã thực thi

runCmdInBackground

public Process runCmdInBackground ( command)

Một phương thức runCmdInBackground(String) thay thế chấp nhận các đối số lệnh ở dạng ERROR(/List).

Tham số
command : ERROR(/List) chứa lệnh hệ thống đã chỉ định và các đối số (không bắt buộc) để thực thi

Giá trị trả về
Process Process của lệnh đã thực thi

runCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

Chạy lệnh bằng nhật ký ERROR(/OutputStream) đầu ra của lệnh. Stdout và stderr được hợp nhất với nhau.

Tham số
command : lệnh cần chạy

output OutputStream: OutputStream để lưu đầu ra

Giá trị trả về
Process Process chạy lệnh

runCmdInBackground

public Process runCmdInBackground (String... command)

Phương thức trợ giúp để thực thi một lệnh hệ thống không đồng bộ.

Sẽ trả về ngay sau khi khởi chạy lệnh.

Tham số
command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
Process Process của lệnh đã thực thi

runCmdInBackground

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

Phương thức trợ giúp để thực thi một lệnh hệ thống không đồng bộ.

Sẽ trả về ngay sau khi khởi chạy lệnh.

Tham số
redirect Redirect: ERROR(/Redirect) để áp dụng cho ProcessBuilder.

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
Process Process của lệnh đã thực thi

runEscalatingTimedRetry

public boolean runEscalatingTimedRetry (long opTimeout, 
                long initialPollInterval, 
                long maxPollInterval, 
                long maxTime, 
                IRunUtil.IRunnableResult runnable)

Chặn và thực thi một thao tác nhiều lần cho đến khi thành công.

Tăng theo cấp số nhân thời gian chờ giữa các lần thử thao tác. Bạn nên sử dụng phương thức này khi thực hiện một thao tác như thăm dò máy chủ, để cho máy chủ có thời gian khôi phục trong trường hợp máy chủ tạm thời ngừng hoạt động.

Tham số
opTimeout long: thời gian chờ tối đa tính bằng mili giây cho một lần thử thao tác

initialPollInterval long: thời gian chờ ban đầu giữa các lần thử thao tác

maxPollInterval long: thời gian chờ tối đa giữa các lần thử thao tác

maxTime long: tổng thời gian tối đa ước tính để tiếp tục thử thực hiện thao tác

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult để thực thi

Giá trị trả về
boolean true nếu thao tác hoàn tất thành công trước khi maxTime hết hạn

runFixedTimedRetry

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

Chặn và thực thi một thao tác nhiều lần cho đến khi thành công.

Tham số
opTimeout long: thời gian chờ tối đa tính bằng mili giây cho một lần thử thao tác

pollInterval long: thời gian chờ ban đầu giữa các lần thử thao tác

maxTime long: tổng thời gian tối đa ước tính để tiếp tục thử thực hiện thao tác

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult để thực thi

Giá trị trả về
boolean true nếu thao tác hoàn tất thành công trước khi maxTime hết hạn

runFixedTimedRetryWithOutputMonitor

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

Chặn và thực thi một thao tác nhiều lần cho đến khi thành công. Đồng thời giám sát các luồng đầu ra để biết hoạt động, huỷ bỏ nếu không thấy hoạt động nào của luồng trong một khoảng thời gian cụ thể. Nếu bạn đặt idleOutputTimeout thành 0, thì sẽ không có hoạt động giám sát luồng nào diễn ra.

Tham số
opTimeout long: thời gian chờ tối đa tính bằng mili giây cho một lần thử thao tác

idleOutputTimeout long: thời gian chờ tối đa tính bằng mili giây để có đầu ra trên các luồng đầu ra

pollInterval long: thời gian chờ ban đầu giữa các lần thử thao tác

maxTime long: tổng thời gian tối đa ước tính để tiếp tục thử thực hiện thao tác

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult để thực thi

Giá trị trả về
boolean true nếu thao tác hoàn tất thành công trước khi maxTime hết hạn

runTimed

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

Chặn và thực thi một thao tác, huỷ bỏ nếu thao tác đó mất nhiều thời gian hơn một khoảng thời gian cụ thể.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult để thực thi

logErrors boolean: ghi lỗi vào nhật ký khi có ngoại lệ hay không.

Giá trị trả về
CommandStatus kết quả CommandStatus của thao tác.

runTimedCmd

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

Phương thức trợ giúp để thực thi một lệnh hệ thống, huỷ bỏ nếu mất nhiều thời gian hơn một khoảng thời gian cụ thể và chuyển hướng đầu ra đến các tệp nếu được chỉ định. Khi ERROR(/OutputStream) được cung cấp theo cách này, chúng sẽ vẫn mở khi kết thúc hàm.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây. 0 có nghĩa là không có thời gian chờ.

stdout OutputStream: ERROR(/OutputStream) nơi đầu ra chuẩn sẽ được chuyển hướng. Có thể là giá trị rỗng.

stderr OutputStream: ERROR(/OutputStream) nơi đầu ra lỗi sẽ được chuyển hướng. Có thể là giá trị rỗng.

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedCmd

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây. 0 có nghĩa là không có thời gian chờ.

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedCmdRetry

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây cho mỗi lần thử

retryInterval long: thời gian chờ giữa các lần thử lại lệnh

attempts int: số lần thử tối đa

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedCmdRetryWithOutputMonitor

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định. Đồng thời giám sát các luồng đầu ra để phát hiện hoạt động, huỷ bỏ nếu không thấy hoạt động nào trên luồng trong một khoảng thời gian cụ thể. Nếu idleOutputTimeout được đặt thành 0, thì sẽ không có hoạt động giám sát luồng nào diễn ra.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây cho mỗi lần thử

idleOutputTimeout long: thời gian chờ tối đa tính bằng mili giây để có đầu ra trên các luồng đầu ra

retryInterval long: thời gian chờ giữa các lần thử lại lệnh

attempts int: số lần thử tối đa

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedCmdSilently

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định. Tương tự như runTimedCmd(long, String), nhưng không ghi lại bất kỳ lỗi nào khi có trường hợp ngoại lệ.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedCmdSilentlyRetry

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định. Tương tự như runTimedCmdRetry(long, long, int, String[]), nhưng không ghi lại bất kỳ lỗi nào khi có trường hợp ngoại lệ.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây

retryInterval long: thời gian chờ giữa các lần thử lại lệnh

attempts int: số lần thử tối đa

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedCmdWithInput

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

Phương thức trợ giúp để thực thi một lệnh hệ thống, huỷ bỏ nếu mất nhiều thời gian hơn một khoảng thời gian cụ thể và chuyển hướng đầu ra đến các tệp nếu được chỉ định.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây. 0 có nghĩa là không có thời gian chờ.

input String: đầu vào stdin để truyền đến quy trình

stdoutFile File: ERROR(/File) nơi đầu ra chuẩn sẽ được chuyển hướng. Có thể là giá trị rỗng.

stderrFile File: ERROR(/File) nơi đầu ra lỗi sẽ được chuyển hướng. Có thể là giá trị rỗng.

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedCmdWithInput

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

Phương thức trợ giúp để thực thi một lệnh hệ thống yêu cầu đầu vào stdin và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây

input String: đầu vào stdin để truyền đến quy trình

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedCmdWithInput

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

Phương thức trợ giúp để thực thi một lệnh hệ thống yêu cầu đầu vào stdin và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây

input String: đầu vào stdin để truyền đến quy trình

command : ERROR(/List) chứa lệnh hệ thống và các đối số (không bắt buộc) để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedCmdWithInputRedirect

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

Phương thức trợ giúp để thực thi một lệnh hệ thống yêu cầu chuyển hướng Stdin từ một tệp và huỷ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây

inputRedirect File: ERROR(/File) để chuyển hướng làm dữ liệu đầu vào tiêu chuẩn bằng cách sử dụng ProcessBuilder.redirectInput(). Nếu là giá trị rỗng, stdin sẽ không được chuyển hướng.

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedCmdWithOutputMonitor

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

Phương thức trợ giúp để thực thi một lệnh hệ thống, huỷ bỏ nếu mất nhiều thời gian hơn một khoảng thời gian cụ thể và chuyển hướng đầu ra đến các tệp nếu được chỉ định. Khi ERROR(/OutputStream) được cung cấp theo cách này, chúng sẽ vẫn mở khi kết thúc hàm.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây. 0 có nghĩa là không có thời gian chờ.

idleOutputTimeout long: thời gian chờ tối đa tính bằng mili giây để có đầu ra trên các luồng đầu ra

stdout OutputStream: ERROR(/OutputStream) nơi đầu ra chuẩn sẽ được chuyển hướng. Có thể là giá trị rỗng.

stderr OutputStream: ERROR(/OutputStream) nơi đầu ra lỗi sẽ được chuyển hướng. Có thể là giá trị rỗng.

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedCmdWithOutputMonitor

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

Phương thức trợ giúp để thực thi một lệnh hệ thống và huỷ bỏ nếu lệnh đó mất nhiều thời gian hơn một khoảng thời gian đã chỉ định. Đồng thời giám sát các luồng đầu ra để phát hiện hoạt động, huỷ bỏ nếu không thấy hoạt động nào trên luồng trong một khoảng thời gian cụ thể. Nếu idleOutputTimeout được đặt thành 0, thì sẽ không có hoạt động giám sát luồng nào diễn ra.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây. 0 có nghĩa là không có thời gian chờ.

idleOutputTimeout long: thời gian chờ tối đa tính bằng mili giây để có đầu ra trên các luồng đầu ra

command String: lệnh hệ thống được chỉ định và các đối số tuỳ chọn để thực thi

Giá trị trả về
CommandResult CommandResult chứa kết quả từ lệnh chạy

runTimedRetry

public boolean runTimedRetry (long opTimeout, 
                long pollInterval, 
                int attempts, 
                IRunUtil.IRunnableResult runnable)

Chặn và thực thi một thao tác nhiều lần cho đến khi thành công.

Tham số
opTimeout long: thời gian chờ tối đa (tính bằng mili giây) cho một lần thử thao tác

pollInterval long: thời gian chờ giữa các lần thử lại lệnh

attempts int: số lần thử tối đa

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult để thực thi

Giá trị trả về
boolean true nếu thao tác hoàn tất thành công trước khi đạt đến số lần thử.

runTimedRetryWithOutputMonitor

public boolean runTimedRetryWithOutputMonitor (long opTimeout, 
                long idleOutputTimeout, 
                long pollInterval, 
                int attempts, 
                IRunUtil.IRunnableResult runnable)

Chặn và thực thi một thao tác nhiều lần cho đến khi thành công. Đồng thời giám sát các luồng đầu ra để biết hoạt động, huỷ bỏ nếu không thấy hoạt động nào của luồng trong một khoảng thời gian cụ thể. Nếu bạn đặt idleOutputTimeout thành 0, thì sẽ không có hoạt động giám sát luồng nào diễn ra.

Tham số
opTimeout long: thời gian chờ tối đa (tính bằng mili giây) cho một lần thử thao tác

idleOutputTimeout long: thời gian chờ tối đa tính bằng mili giây để nhận được đầu ra trên các luồng đầu ra

pollInterval long: thời gian chờ giữa các lần thử lại lệnh

attempts int: số lần thử tối đa

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult để thực thi

Giá trị trả về
boolean true nếu thao tác hoàn tất thành công trước khi đạt đến số lần thử.

runTimedWithOutputMonitor

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

Chặn và thực thi một thao tác, huỷ bỏ nếu thao tác đó mất nhiều thời gian hơn một khoảng thời gian cụ thể. Đồng thời, theo dõi các luồng đầu ra để biết hoạt động, huỷ bỏ nếu không thấy hoạt động nào của luồng trong một khoảng thời gian cụ thể. Nếu bạn đặt idleOutputTimeout thành 0, thì sẽ không có hoạt động giám sát luồng nào diễn ra.

Tham số
timeout long: thời gian chờ tối đa tính bằng mili giây

idleOutputTimeout long: thời gian chờ tối đa tính bằng mili giây để có đầu ra trên các luồng đầu ra

runnable IRunUtil.IRunnableResult: IRunUtil.IRunnableResult để thực thi

logErrors boolean: ghi lỗi vào nhật ký khi có ngoại lệ hay không.

Giá trị trả về
CommandStatus kết quả CommandStatus của thao tác.

setEnvVariable

public void setEnvVariable (String name, 
                String value)

Đặt một biến môi trường sẽ được dùng khi chạy các lệnh hệ thống.

Tham số
name String: tên biến

value String: giá trị biến

setEnvVariablePriority

public void setEnvVariablePriority (IRunUtil.EnvPriority priority)

Quyết định xem khi tạo một quy trình, việc huỷ đặt biến môi trường có mức độ ưu tiên cao hơn việc đặt biến môi trường hay không. Theo mặc định, việc huỷ đặt có mức độ ưu tiên cao hơn: tức là nếu bạn cố gắng đặt một biến có cùng tên, thì điều đó sẽ không xảy ra vì biến sẽ bị huỷ đặt. Không thể sử dụng trên phiên bản IRunUtil mặc định.

Tham số
priority IRunUtil.EnvPriority

setInterruptibleInFuture

public void setInterruptibleInFuture (Thread thread, 
                long timeMs)

Đặt là có thể bị gián đoạn sau một khoảng thời gian chờ. ERROR(/CommandScheduler#shutdownHard()) để thực thi việc chúng ta sẽ chấm dứt sau cùng.

Tham số
thread Thread: luồng sẽ có thể bị gián đoạn.

timeMs long: thời gian chờ trước khi đặt chế độ có thể bị gián đoạn.

setLinuxInterruptProcess

public void setLinuxInterruptProcess (boolean interrupt)

Cho phép sử dụng lệnh gián đoạn "kill" của Linux trên quy trình đang chạy thông qua các phương thức #runTimed khi quy trình này đạt đến thời gian chờ. Không thể sử dụng trên phiên bản IRunUtil mặc định.

Tham số
interrupt boolean

setRedirectStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

Đặt luồng lỗi chuẩn để chuyển hướng đến luồng đầu ra chuẩn khi chạy các lệnh hệ thống. Giá trị ban đầu là false.

Tham số
redirect boolean: giá trị mới cho việc có chuyển hướng hay không

setWorkingDir

public void setWorkingDir (File dir)

Đặt thư mục làm việc cho các lệnh hệ thống.

Tham số
dir File: thư mục đang hoạt động

ngủ

public void sleep (long time)

Phương thức trợ giúp để ngủ trong thời gian nhất định, bỏ qua mọi trường hợp ngoại lệ.

Tham số
time long: mili giây để ngủ. các giá trị nhỏ hơn hoặc bằng 0 sẽ bị bỏ qua

unsetEnvVariable

public void unsetEnvVariable (String key)

Huỷ thiết lập một biến môi trường, để các lệnh hệ thống chạy mà không có biến môi trường này. Các biến môi trường có thể kế thừa từ quy trình mẹ, vì vậy, chúng ta cần xoá biến môi trường khỏi ProcessBuilder.environment()

Tham số
key String: tên biến