RunUtil

public class RunUtil
extends Object implements IRunUtil

شیء جاوا
com.android.tradefed.util.RunUtil


مجموعه‌ای از متدهای کمکی برای اجرای عملیات.

خلاصه

ثابت‌ها

String INHERITIO_PREFIX

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 را مشخص کنید.

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)

متد کمکی برای اجرای یک دستور سیستمی، و توقف اجرای آن در صورت طولانی شدن بیش از زمان مشخص شده.

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، هنگام رسیدن به زمان انقضا، از وقفه 'kill' در لینوکس روی فرآیند در حال اجرا استفاده شود.

void setRedirectStderrToStdout (boolean redirect)

جریان خطای استاندارد را طوری تنظیم کنید که هنگام اجرای دستورات سیستم، به جریان خروجی استاندارد هدایت شود.

void setWorkingDir (File dir)

دایرکتوری کاری را برای دستورات سیستم تنظیم می‌کند.

void sleep (long time)

روش کمکی برای خوابیدن در زمان معین، بدون در نظر گرفتن هرگونه استثنا.

void unsetEnvVariable (String key)

یک متغیر محیطی را از حالت تنظیم‌شده خارج می‌کند، بنابراین دستورات سیستم بدون این متغیر محیطی اجرا می‌شوند. متغیرهای محیطی ممکن است از فرآیند والد ارث‌بری کنند، بنابراین باید متغیر محیطی را از ProcessBuilder.environment() حذف کنیم.

ثابت‌ها

پیشوند وراثت

public static final String INHERITIO_PREFIX

مقدار ثابت: "وراثت"

نام قابل اجرا

public static final String RUNNABLE_NOTIFIER_NAME

مقدار ثابت: "RunnableNotifier"

سازندگان عمومی

RunUtil

public RunUtil ()

یک شیء RunUtil جدید برای استفاده ایجاد کنید.

RunUtil

public RunUtil (boolean inheritEnvVars)

پارامترها
inheritEnvVars boolean

روش‌های عمومی

اجازه وقفه

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

دریافت پیش‌فرض

public static IRunUtil getDefault ()

یک ارجاع به شیء پیش‌فرض RunUtil دریافت کنید.

این برای فراخوانی‌کنندگانی که می‌خواهند از IRunUtil بدون سفارشی‌سازی استفاده کنند مفید است. توصیه می‌شود فراخوانی‌کنندگانی که به یک نمونه سفارشی IRunUtil نیاز دارند (یعنی نیاز به فراخوانی 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 اگر اجرای برنامه بتواند قطع شود، درست و در غیر این صورت نادرست است.

اجرایCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

یک متد جایگزین runCmdInBackground(String) که آرگومان‌های دستور را به شکل ERROR(/List) می‌پذیرد.

پارامترها
redirect Redirect : ERROR(/Redirect) که باید به ProcessBuilder اعمال شود.

command : ERROR(/List) حاوی دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
Process Process دستور اجرا شده

اجرایCmdInBackground

public Process runCmdInBackground ( command)

یک متد جایگزین runCmdInBackground(String) که آرگومان‌های دستور را به شکل ERROR(/List) می‌پذیرد.

پارامترها
command : ERROR(/List) حاوی دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
Process Process دستور اجرا شده

اجرایCmdInBackground

public Process runCmdInBackground ( command, 
                OutputStream output)

اجرای دستور با یک ERROR(/OutputStream) خروجی دستور را ثبت می‌کند. خروجی استاندارد (Stdout) و خروجی استاندارد (stderr) با هم ادغام می‌شوند.

پارامترها
command : دستوری که باید اجرا شود

output OutputStream : خروجی برای ذخیره خروجی

بازگشت‌ها
Process Process دستور را اجرا می‌کند

اجرایCmdInBackground

public Process runCmdInBackground (String... command)

متد کمکی برای اجرای یک دستور سیستمی به صورت غیرهمزمان.

بلافاصله پس از پرتاب فرمان، باز خواهد گشت.

پارامترها
command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
Process Process دستور اجرا شده

اجرایCmdInBackground

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

متد کمکی برای اجرای یک دستور سیستمی به صورت غیرهمزمان.

بلافاصله پس از پرتاب فرمان، باز خواهد گشت.

پارامترها
redirect Redirect : ERROR(/Redirect) که باید به ProcessBuilder اعمال شود.

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
Process Process دستور اجرا شده

runEscalatingTimedRetry

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

یک عملیات را چندین بار مسدود و اجرا می‌کند تا زمانی که با موفقیت انجام شود.

افزایش تصاعدی زمان انتظار بین تلاش‌های عملیاتی. این قابلیت برای استفاده هنگام انجام عملیاتی مانند نمونه‌برداری از سرور در نظر گرفته شده است تا در صورت از کار افتادن موقت، به آن زمان بازیابی داده شود.

پارامترها
opTimeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه برای یک تلاش عملیاتی

initialPollInterval long : زمان اولیه برای انتظار بین تلاش‌های عملیاتی

maxPollInterval long : حداکثر زمان انتظار بین تلاش‌های عملیاتی

maxTime long : حداکثر زمان تقریبی کل برای ادامه‌ی تلاش برای انجام عملیات

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult برای اجرا

بازگشت‌ها
boolean اگر عملیات قبل از انقضای maxTime با موفقیت انجام شده باشد true

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 اگر عملیات قبل از انقضای 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.IRunnableResult : IRunUtil.IRunnableResult برای اجرا

بازگشت‌ها
boolean اگر عملیات قبل از انقضای maxTime با موفقیت انجام شده باشد true

اجرا شده

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

یک عملیات را مسدود کرده و اجرا می‌کند و اگر بیش از زمان مشخص شده طول بکشد، متوقف می‌شود.

پارامترها
timeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه

runnable IRunUtil.IRunnableResult : IRunUtil.IRunnableResult برای اجرا

logErrors boolean : خطاها را در صورت وجود استثنا ثبت می‌کند یا خیر.

بازگشت‌ها
CommandStatus نتیجه‌ی CommandStatus عملیات.

اجرای زمان‌بندی‌شدهCmd

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

متد کمکی برای اجرای یک دستور سیستمی، لغو اجرای آن در صورت طولانی شدن بیش از زمان مشخص شده، و هدایت خروجی به فایل‌ها در صورت مشخص شدن. وقتی ERROR(/OutputStream) به این روش ارائه شوند، در انتهای تابع باز می‌مانند.

پارامترها
timeout long : حداکثر زمان انتظار برای timeout بر حسب میلی‌ثانیه. 0 به معنی بدون timeout است.

stdout OutputStream : ERROR(/OutputStream) که در آن خروجی std هدایت می‌شود. می‌تواند null باشد.

stderr OutputStream : ERROR(/OutputStream) که در آن خروجی خطا هدایت می‌شود. می‌تواند null باشد.

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

اجرای زمان‌بندی‌شدهCmd

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

متد کمکی برای اجرای یک دستور سیستمی، و توقف اجرای آن در صورت طولانی شدن بیش از زمان مشخص شده.

پارامترها
timeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه. 0 به معنی بدون تایم‌اوت است.

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

runTimedCmdRetry

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

متد کمکی برای اجرای یک دستور سیستمی، و توقف اجرای آن در صورت طولانی شدن بیش از زمان مشخص شده.

پارامترها
timeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه برای هر تلاش

retryInterval long : زمان انتظار بین تکرار دستورات

attempts int : حداکثر تعداد تلاش برای امتحان کردن

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

runTimedCmdRetryWithOutputMonitor

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

متد کمکی برای اجرای یک دستور سیستمی و توقف اجرای آن در صورت طولانی شدن بیش از زمان مشخص شده. همچنین جریان‌های خروجی را برای فعالیت نظارت می‌کند و در صورت عدم مشاهده فعالیت جریان در مدت زمان مشخص شده، متوقف می‌شود. اگر idleOutputTimeout روی صفر تنظیم شود، هیچ نظارتی بر جریان انجام نخواهد شد.

پارامترها
timeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه برای هر تلاش

idleOutputTimeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه برای خروجی در جریان‌های خروجی

retryInterval long : زمان انتظار بین تکرار دستورات

attempts int : حداکثر تعداد تلاش برای امتحان کردن

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

اجرای زمان‌بندی‌شدهCmdSilently

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

متد کمکی برای اجرای یک دستور سیستمی، و توقف اجرای برنامه در صورت طولانی شدن بیش از زمان مشخص شده. مشابه runTimedCmd(long, String) ، اما هیچ خطایی را در صورت بروز خطا ثبت نمی‌کند.

پارامترها
timeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

runTimedCmdSilentlyRetry

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

متد کمکی برای اجرای یک دستور سیستمی، و توقف اجرای برنامه در صورت طولانی شدن بیش از زمان مشخص شده. مشابه runTimedCmdRetry(long, long, int, String[]) ، اما هیچ خطایی را در صورت بروز استثنا ثبت نمی‌کند.

پارامترها
timeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه

retryInterval long : زمان انتظار بین تکرار دستورات

attempts int : حداکثر تعداد تلاش برای امتحان کردن

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

اجرای زمان‌بندی‌شدهCmdبا ورودی

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

متد کمکی برای اجرای یک دستور سیستمی، لغو اجرای آن در صورت طولانی شدن بیش از زمان مشخص شده، و هدایت خروجی به فایل‌ها در صورت مشخص شدن.

پارامترها
timeout long : حداکثر زمان انتظار برای timeout بر حسب میلی‌ثانیه. 0 به معنی بدون timeout است.

input String : ورودی stdin که باید به پردازش ارسال شود

stdoutFile File : ERROR(/File) که خروجی std به آن هدایت می‌شود. می‌تواند null باشد.

stderrFile File : ERROR(/File) که خروجی خطا به آن هدایت می‌شود. می‌تواند null باشد.

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

اجرای زمان‌بندی‌شدهCmdبا ورودی

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

متد کمکی برای اجرای یک دستور سیستمی که نیاز به ورودی stdin دارد، و در صورت طولانی شدن اجرای آن بیش از زمان مشخص شده، متوقف می‌شود.

پارامترها
timeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه

input String : ورودی stdin که باید به پردازش ارسال شود

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

اجرای زمان‌بندی‌شدهCmdبا ورودی

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

متد کمکی برای اجرای یک دستور سیستمی که نیاز به ورودی stdin دارد، و در صورت طولانی شدن اجرای آن بیش از زمان مشخص شده، متوقف می‌شود.

پارامترها
timeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه

input String : ورودی stdin که باید به پردازش ارسال شود

command : ERROR(/List) ‎ شامل دستور سیستم و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

runTimedCmdWithInputRedirect

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

متد کمکی برای اجرای یک دستور سیستمی که نیاز به تغییر مسیر Stdin از یک فایل دارد، و در صورت طولانی شدن بیش از زمان مشخص شده، متوقف می‌شود.

پارامترها
timeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه

inputRedirect File : ERROR(/File) برای تغییر مسیر به عنوان ورودی استاندارد با استفاده از ProcessBuilder.redirectInput() . اگر تهی باشد، stdin تغییر مسیر نخواهد داد.

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

اجرای زمان‌بندی‌شدهCmdWithOutputMonitor

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

متد کمکی برای اجرای یک دستور سیستمی، لغو اجرای آن در صورت طولانی شدن بیش از زمان مشخص شده، و هدایت خروجی به فایل‌ها در صورت مشخص شدن. وقتی ERROR(/OutputStream) به این روش ارائه شوند، در انتهای تابع باز می‌مانند.

پارامترها
timeout long : حداکثر زمان انتظار برای timeout بر حسب میلی‌ثانیه. 0 به معنی بدون timeout است.

idleOutputTimeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه برای خروجی در جریان‌های خروجی

stdout OutputStream : ERROR(/OutputStream) که در آن خروجی std هدایت می‌شود. می‌تواند null باشد.

stderr OutputStream : ERROR(/OutputStream) که در آن خروجی خطا هدایت می‌شود. می‌تواند null باشد.

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

اجرای زمان‌بندی‌شدهCmdWithOutputMonitor

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

متد کمکی برای اجرای یک دستور سیستمی و توقف اجرای آن در صورت طولانی شدن بیش از زمان مشخص شده. همچنین جریان‌های خروجی را برای فعالیت نظارت می‌کند و در صورت عدم مشاهده فعالیت جریان در مدت زمان مشخص شده، متوقف می‌شود. اگر idleOutputTimeout روی صفر تنظیم شود، هیچ نظارتی بر جریان انجام نخواهد شد.

پارامترها
timeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه. 0 به معنی بدون تایم‌اوت است.

idleOutputTimeout long : حداکثر زمان انتظار بر حسب میلی‌ثانیه برای خروجی در جریان‌های خروجی

command String : دستور سیستمی مشخص شده و آرگومان‌های اختیاری برای اجرا

بازگشت‌ها
CommandResult یک CommandResult حاوی نتیجه‌ی حاصل از اجرای دستور

اجرازمان‌بندی‌شدهدوبارهامتحان

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 .

اجرای زمان‌بندی‌شده‌ی تلاش مجدد با خروجی مانیتور

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 .

مانیتور خروجی زمان‌بندی‌شده‌ی اجرا

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 عملیات.

متغیر setEnv

public void setEnvVariable (String name, 
                String value)

یک متغیر محیطی را برای استفاده هنگام اجرای دستورات سیستم تنظیم می‌کند.

پارامترها
name String : نام متغیر

value String : مقدار متغیر

اولویت متغیرها را با استفاده از setEnv مشخص کنید

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)

اجازه می‌دهد از طریق متدهای #runTimed، هنگام رسیدن فرآیند به زمان انقضا، از وقفه 'kill' در لینوکس استفاده شود. نمی‌توان از آن در نمونه پیش‌فرض IRunUtil استفاده کرد.

پارامترها
interrupt boolean

setRedirectStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

جریان خطای استاندارد را طوری تنظیم کنید که هنگام اجرای دستورات سیستم، به جریان خروجی استاندارد هدایت شود. مقدار اولیه false است.

پارامترها
redirect boolean : مقدار جدیدی برای تعیین اینکه آیا ریدایرکت انجام شود یا خیر.

تنظیم دایرکتوری کاری

public void setWorkingDir (File dir)

دایرکتوری کاری را برای دستورات سیستم تنظیم می‌کند.

پارامترها
dir File : دایرکتوری کاری

خواب

public void sleep (long time)

روش کمکی برای خوابیدن در زمان معین، بدون در نظر گرفتن هرگونه استثنا.

پارامترها
time long : ms برای خواب. مقادیر کمتر یا مساوی 0 نادیده گرفته می‌شوند.

متغیر unsetEnv

public void unsetEnvVariable (String key)

یک متغیر محیطی را از حالت تنظیم‌شده خارج می‌کند، بنابراین دستورات سیستم بدون این متغیر محیطی اجرا می‌شوند. متغیرهای محیطی ممکن است از فرآیند والد ارث‌بری کنند، بنابراین باید متغیر محیطی را از ProcessBuilder.environment() حذف کنیم.

پارامترها
key String : نام متغیر

همچنین ببینید: