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.

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)

السماح باستخدام الأمر kill في نظام التشغيل Linux لإيقاف العملية التي يتم تشغيلها من خلال طرق #runTimed عند وصولها إلى مهلة

void setRedirectStderrToStdout(boolean redirect)

اضبط بث الأخطاء العادي لإعادة التوجيه إلى بث المخرجات العادي عند تشغيل أوامر النظام.

void setWorkingDir(File dir)

لضبط دليل العمل لأوامر النظام

void sleep(long time)

طريقة مساعدة للنوم لفترة زمنية معيّنة، مع تجاهل أي استثناءات

void unsetEnvVariable(String key)

تؤدي هذه الوظيفة إلى إلغاء ضبط متغيّر بيئة، وبالتالي يتم تشغيل أوامر النظام بدون متغيّر البيئة هذا. قد تكتسِب متغيّرات البيئة الإعدادات من العملية الرئيسية، لذا علينا حذف متغيّر البيئة من ProcessBuilder.environment()

الحقول

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 String: الرسالة المرسَلة إلى RunInterruptedException

errorId ErrorIdentifier: يمثّل سبب الانقطاع عندما يكون معروفًا.

المقاطعة

public void interrupt (Thread thread, 
                String message)

يوقف عمليات التشغيل الجارية/المقبلة في سلسلة المهام المحدّدة. سيؤدي تشغيل العمليات على سلسلة المحادثات المحدّدة إلى طرح RunInterruptedException.

المعلمات
message String: الرسالة المرسَلة إلى RunInterruptedException

isInterruptAllowed

public boolean isInterruptAllowed ()

أدخِل حالة المقاطعة لـ RunUtil.

المرتجعات
boolean صحيح إذا كان من الممكن إيقاف الإجراء، وخطأ في الحالات الأخرى.

runCmdInBackground

public Process runCmdInBackground (Redirect redirect, 
                 command)

طريقة runCmdInBackground(String) بديلة تقبل وسيطات الأمر بتنسيق ERROR(/List)

المعلمات
redirect Redirect: ERROR(/Redirect) التي سيتم تطبيقها على ProcessBuilder

command : العنصر ERROR(/List) الذي يحتوي على أمر نظام محدّد ومَعلمات اختيارية للتنفيذ

المرتجعات
Process Process الأمر الذي تم تنفيذه

runCmdInBackground

public Process runCmdInBackground ( command)

طريقة runCmdInBackground(String) بديلة تقبل وسيطات الأمر بتنسيق ERROR(/List)

المعلمات
command : العنصر 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: أمر النظام المحدّد والوسيطات الاختيارية للتنفيذ

المرتجعات
Process Process الأمر الذي تم تنفيذه

runCmdInBackground

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 true إذا اكتملت العملية بنجاح قبل انتهاء صلاحية maxTime

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 true إذا اكتملت العملية بنجاح قبل انتهاء صلاحية maxTime

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 true إذا اكتملت العملية بنجاح قبل انتهاء صلاحية maxTime

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 OutputStream: ERROR(/OutputStream) حيث سيتم إعادة توجيه الإخراج العادي. يمكن أن تكون فارغة.

stderr OutputStream: ERROR(/OutputStream) حيث سيتم إعادة توجيه ناتج الخطأ. يمكن أن تكون فارغة.

command String: أمر النظام المحدّد والوسيطات الاختيارية للتنفيذ

المرتجعات
CommandResult CommandResult يحتوي على نتيجة من تنفيذ الأمر

runTimedCmd

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 يحتوي على نتيجة من تنفيذ الأمر

runTimedCmdSilently

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 يحتوي على نتيجة من تنفيذ الأمر

runTimedCmdWithInput

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

طريقة مساعدة لتنفيذ أمر نظام، وإيقاف التنفيذ إذا استغرق الأمر وقتًا أطول من الوقت المحدّد، وإعادة توجيه الإخراج إلى الملفات إذا تم تحديدها

المعلمات
timeout long: المهلة هي الحد الأقصى للوقت الذي يجب الانتظاره بالملي ثانية. ويعني القيمة 0 عدم وجود مهلة.

input String: إدخال stdin المطلوب تمريره إلى العملية

stdoutFile File: ERROR(/File) حيث سيتم إعادة توجيه الإخراج العادي. يمكن أن تكون فارغة.

stderrFile File: ERROR(/File) حيث سيتم إعادة توجيه ناتج الخطأ. يمكن أن تكون فارغة.

command String: أمر النظام المحدّد والوسيطات الاختيارية للتنفيذ

المرتجعات
CommandResult CommandResult يحتوي على نتيجة من تنفيذ الأمر

runTimedCmdWithInput

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

طريقة مساعدة لتنفيذ أمر نظام يتطلب إدخال stdin، وإيقاف التنفيذ إذا كان يستغرق وقتًا أطول من الوقت المحدّد

المعلمات
timeout long: الحد الأقصى لوقت الانتظار بالكيلومتر

input String: إدخال stdin المطلوب تمريره إلى العملية

command String: أمر النظام المحدّد والوسيطات الاختيارية للتنفيذ

المرتجعات
CommandResult CommandResult يحتوي على نتيجة من تنفيذ الأمر

runTimedCmdWithInput

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 يحتوي على نتيجة من تنفيذ الأمر

runTimedCmdWithOutputMonitor

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

طريقة مساعدة لتنفيذ أمر نظام، وإيقاف التنفيذ إذا استغرق الأمر وقتًا أطول من الوقت المحدّد، وإعادة توجيه الإخراج إلى الملفات إذا تم تحديدها عند تقديم ERROR(/OutputStream) بهذه الطريقة، سيتم تركها مفتوحة في نهاية الدالة.

المعلمات
timeout long: المهلة هي الحد الأقصى للوقت الذي يجب الانتظاره بالملي ثانية. ويعني القيمة 0 عدم وجود مهلة.

idleOutputTimeout long: الحد الأقصى للوقت الذي يجب الانتظاره بالمللي ثانية للحصول على الإخراج في مصادر الإخراج

stdout OutputStream: ERROR(/OutputStream) حيث سيتم إعادة توجيه الإخراج العادي. يمكن أن تكون فارغة.

stderr OutputStream: ERROR(/OutputStream) حيث سيتم إعادة توجيه ناتج الخطأ. يمكن أن تكون فارغة.

command String: أمر النظام المحدّد والوسيطات الاختيارية للتنفيذ

المرتجعات
CommandResult CommandResult يحتوي على نتيجة من تنفيذ الأمر

runTimedCmdWithOutputMonitor

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

طريقة مساعدة لتنفيذ طلب نظام وإيقافه إذا استغرق وقتًا أطول من وقت محدّد وتتتبّع أيضًا مصادر الإخراج بحثًا عن أي نشاط، وتُوقف البث في حال عدم رصد أي نشاط في البث لعدة دقائق. في حال ضبط idleOutputTimeout على صفر، لن يتم رصد البث.

المعلمات
timeout long: الحد الأقصى للوقت الذي يجب الانتظاره بالكيلومتر. القيمة 0 تعني عدم وجود مهلة.

idleOutputTimeout long: الحد الأقصى للوقت الذي يجب الانتظاره بالمللي ثانية للحصول على الإخراج في مصادر الإخراج

command String: أمر النظام المحدّد والوسيطات الاختيارية للتنفيذ

المرتجعات
CommandResult CommandResult يحتوي على نتيجة من تنفيذ الأمر

runTimedRetry

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.IRunnableResult: IRunUtil.IRunnableResult للتنفيذ

المرتجعات
boolean true إذا اكتملت العملية بنجاح قبل بلوغ عدد المحاولات

runTimedWithOutputMonitor

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 نتيجة العملية

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)

السماح باستخدام الأمر kill في نظام التشغيل Linux لإيقاف العملية التي يتم تشغيلها من خلال طرق #runTimed عند وصولها إلى مهلة لا يمكن استخدامها في مثيل IRunUtil التلقائي.

المعلمات
interrupt boolean

setRedirectStderrToStdout

public void setRedirectStderrToStdout (boolean redirect)

اضبط بث الأخطاء العادي لإعادة التوجيه إلى بث المخرجات العادي عند تشغيل أوامر النظام. القيمة الأولية هي خطأ.

المعلمات
redirect boolean: قيمة جديدة تحدّد ما إذا كان سيتم إعادة التوجيه أم لا

setWorkingDir

public void setWorkingDir (File dir)

لضبط دليل العمل لأوامر النظام

المعلمات
dir File: دليل العمل

النوم

public void sleep (long time)

طريقة مساعدة للنوم لفترة زمنية معيّنة، مع تجاهل أي استثناءات

المعلمات
time long: عدد المللي ثانية للدخول في وضع السكون. سيتم تجاهل القيم التي تقل عن 0 أو تساويها.

unsetEnvVariable

public void unsetEnvVariable (String key)

تؤدي هذه الوظيفة إلى إلغاء ضبط متغيّر بيئة، وبالتالي يتم تشغيل أوامر النظام بدون متغيّر البيئة هذا. قد تكتسِب متغيّرات البيئة الإعدادات من العملية الرئيسية، لذا علينا حذف متغيّر البيئة من ProcessBuilder.environment().

المعلمات
key String: اسم المتغيّر

راجِع أيضًا: