RunUtil
public class RunUtil
extends Object implements IRunUtil
| شیء جاوا | |
| ↳ | com.android.tradefed.util.RunUtil |
مجموعهای از متدهای کمکی برای اجرای عملیات.
خلاصه
ثابتها | |
|---|---|
String | INHERITIO_PREFIX |
String | RUNNABLE_NOTIFIER_NAME |
سازندگان عمومی | |
|---|---|
RunUtil () یک شیء | |
RunUtil (boolean inheritEnvVars) | |
روشهای عمومی | |
|---|---|
void | allowInterrupt (boolean allow)اجازه/عدم اجازه اجرای وقفهها روی نخ فعلی را میدهد. |
ProcessBuilder | createProcessBuilder (Redirect redirect, |
static IRunUtil | getDefault () یک ارجاع به شیء پیشفرض |
void | interrupt (Thread thread, String message, ErrorIdentifier errorId)عملیات اجرایی جاری/آینده را روی نخ داده شده قطع میکند. |
void | interrupt (Thread thread, String message)عملیات اجرایی جاری/آینده را روی نخ داده شده قطع میکند. |
boolean | isInterruptAllowed ()وضعیت وقفه RunUtil را مشخص کنید. |
Process | runCmdInBackground (Redirect redirect, یک متد جایگزین |
Process | runCmdInBackground ( یک متد جایگزین |
Process | runCmdInBackground ( اجرای دستور با یک |
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,متد کمکی برای اجرای یک دستور سیستمی که نیاز به ورودی 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) یک متغیر محیطی را از حالت تنظیمشده خارج میکند، بنابراین دستورات سیستم بدون این متغیر محیطی اجرا میشوند. متغیرهای محیطی ممکن است از فرآیند والد ارثبری کنند، بنابراین باید متغیر محیطی را از |
ثابتها
پیشوند وراثت
public static final String INHERITIO_PREFIX
مقدار ثابت: "وراثت"
نام قابل اجرا
public static final String RUNNABLE_NOTIFIER_NAME
مقدار ثابت: "RunnableNotifier"
سازندگان عمومی
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 : نام متغیر |
همچنین ببینید: