اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
ProcessUtil
public
final
class
ProcessUtil
extends Object
java.lang.Object
|
↳ |
com.android.sts.common.ProcessUtil
|
مساعدات مختلفة للعثور على العمليات على الجهاز والانتظار إلى أن تنتهي وقتل العمليات
ملخّص
الطرق العامة |
static
Optional<IFileEntry>
|
findFileLoadedByProcess(ITestDevice device, String process, String filenameSubstr)
عرض إدخال الملف لأول ملف تم تحميله بواسطة العملية المحدّدة بالاسم المحدّد
|
static
Optional<List<String>>
|
findFilesLoadedByProcess(ITestDevice device, int pid, Pattern filePattern)
عرض أسماء الملفات المحدّدة التي حمّلتها العملية المحدّدة
|
static
Optional<String>
|
getProcessName(ITestDevice device, int pid)
احصل على المحتوى من /proc/pid/cmdline.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs, boolean expectExist)
أرسِل إشارة SIGKILL إلى جميع العمليات التي تتطابق مع نمط معيّن.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs)
أرسِل إشارة SIGKILL إلى جميع العمليات التي تتطابق مع نمط معيّن.
|
static
void
|
killPid(ITestDevice device, int pid, long timeoutMs)
أرسِل إشارة SIGKILL إلى عملية وانتظِر خروجها.
|
static
void
|
killPid(ITestDevice device, int pid, int signal, long timeoutMs)
أرسِل إشارة إلى عملية وانتظِر خروجها.
|
static
Optional<List<String>>
|
listOpenFiles(ITestDevice device, int pid)
لعرض أسماء الملفات المفتوحة حاليًا للعملية المحدّدة.
|
static
Optional<Integer>
|
pidOf(ITestDevice device, String pgrepRegex)
الحصول على رقم تعريف عملية واحد يتطابق مع نمط تم تمريره إلى pgrep
|
static
Optional<Map<Integer, String>>
|
pidsOf(ITestDevice device, String pgrepRegex)
الحصول على أرقام تعريف العمليات التي تتطابق مع نمط تم تمريره إلى pgrep
|
static
void
|
waitPidExited(ITestDevice device, int pid)
انتظِر حتى يتم إنهاء إحدى العمليات.
|
static
void
|
waitPidExited(ITestDevice device, int pid, long timeoutMs)
انتظِر حتى يتم إنهاء إحدى العمليات.
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex, long timeoutMs)
الانتظار إلى أن يتم العثور على عملية جارية لتعبير عادي معيّن
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex)
الانتظار إلى أن يتم العثور على عملية جارية لتعبير عادي معيّن
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill, long timeoutMs)
إنهاء عملية في بداية الاختبار ونهايته
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill)
إنهاء عملية في بداية الاختبار ونهايته
|
الثابتات
PROCESS_POLL_PERIOD_MS
public static final long PROCESS_POLL_PERIOD_MS
القيمة الثابتة:
250
(0x00000000000000fa)
PROCESS_WAIT_TIMEOUT_MS
public static final long PROCESS_WAIT_TIMEOUT_MS
القيمة الثابتة:
10000
(0x0000000000002710)
الطرق العامة
findFileLoadedByProcess
public static Optional<IFileEntry> findFileLoadedByProcess (ITestDevice device,
String process,
String filenameSubstr)
عرض إدخال الملف لأول ملف تم تحميله بواسطة العملية المحدّدة بالاسم المحدّد
المعلمات |
device |
ITestDevice : الجهاز الذي سيتم تشغيل التطبيق عليه |
process |
String : نمط pgrep للعملية التي يتم البحث عنها |
filenameSubstr |
String : جزء من اسم الملف أو المسار الذي حمّلته العملية |
المرتجعات |
Optional<IFileEntry> |
عنصر اختياري من IFileEntry لمسار الملف على الجهاز إذا كان متوفّرًا
|
عمليات الرمي |
DeviceNotAvailableException |
|
findFilesLoadedByProcess
public static Optional<List<String>> findFilesLoadedByProcess (ITestDevice device,
int pid,
Pattern filePattern)
عرض أسماء الملفات المحدّدة التي حمّلتها العملية المحدّدة
المعلمات |
device |
ITestDevice : الجهاز الذي سيتم تشغيل التطبيق عليه |
pid |
int : معرّف العملية التي يتم البحث عنها |
filePattern |
Pattern : نمط لأسماء الملفات المطلوب عرضها |
المرتجعات |
Optional<List<String>> |
اختياري للملفّات التي تمّت فلترتها، ويكون فارغًا إذا لم يتم العثور على العملية أو تعذّرت قراءة الملفّات المفتوحة
|
عمليات الرمي |
DeviceNotAvailableException |
|
getProcessName
public static Optional<String> getProcessName (ITestDevice device,
int pid)
احصل على المحتوى من /proc/pid/cmdline.
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pid |
int : رقم تعريف العملية للحصول على الاسم |
المرتجعات |
Optional<String> |
سلسلة اختيارية لمحتويات /proc/pid/cmdline، تكون فارغة إذا تعذّر
العثور على رقم التعريف
|
عمليات الرمي |
DeviceNotAvailableException |
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs,
boolean expectExist)
أرسِل إشارة SIGKILL إلى جميع العمليات التي تتطابق مع نمط معيّن.
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pgrepRegex |
String : سلسلة تمثّل التعبير العادي لبرنامج pgrep |
timeoutMs |
long : مدة الانتظار قبل طرح TimeoutException |
expectExist |
boolean : ما إذا كان يجب طرح استثناء في حال عدم إغلاق أي عمليات |
المرتجعات |
boolean |
ما إذا تم إنهاء أي عمليات
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs)
أرسِل إشارة SIGKILL إلى جميع العمليات التي تتطابق مع نمط معيّن.
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pgrepRegex |
String : سلسلة تمثّل التعبير العادي لبرنامج pgrep |
timeoutMs |
long : مدة الانتظار قبل طرح TimeoutException |
المرتجعات |
boolean |
ما إذا تم إنهاء أي عمليات
|
killPid
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
أرسِل إشارة SIGKILL إلى عملية وانتظِر خروجها.
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pid |
int : معرّف العملية التي يجب الانتظار إلى أن تنتهي |
timeoutMs |
long : مدة الانتظار قبل طرح TimeoutException
|
killPid
public static void killPid (ITestDevice device,
int pid,
int signal,
long timeoutMs)
أرسِل إشارة إلى عملية وانتظِر خروجها.
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pid |
int : معرّف العملية التي يجب الانتظار إلى أن تنتهي |
signal |
int : الإشارة المطلوب إرسالها إلى العملية |
timeoutMs |
long : مدة الانتظار قبل طرح TimeoutException
|
listOpenFiles
public static Optional<List<String>> listOpenFiles (ITestDevice device,
int pid)
لعرض أسماء الملفات المفتوحة حاليًا للعملية المحدّدة.
المعلمات |
device |
ITestDevice : الجهاز الذي سيتم تشغيل التطبيق عليه |
pid |
int : معرّف العملية التي يتم البحث عنها |
المرتجعات |
Optional<List<String>> |
عنصر اختياري للملفّات المفتوحة، يكون فارغًا إذا لم يتم العثور على العملية أو إذا تعذّرت قراءة الملفّات المفتوحة
|
عمليات الرمي |
DeviceNotAvailableException |
|
pidOf
public static Optional<Integer> pidOf (ITestDevice device,
String pgrepRegex)
الحصول على رقم تعريف عملية واحد يتطابق مع نمط تم تمريره إلى pgrep. رمي IllegalArgumentException
عندما يكون هناك أكثر من رقم تعريف عملية واحد يتطابق مع النمط
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pgrepRegex |
String : سلسلة تمثّل التعبير العادي لبرنامج pgrep |
المرتجعات |
Optional<Integer> |
عدد صحيح اختياري لرقم تعريف العملية، يكون فارغًا إذا لم تعرض pgrep قيمة EXIT_SUCCESS
|
عمليات الرمي |
DeviceNotAvailableException |
|
IllegalArgumentException |
|
pidsOf
public static Optional<Map<Integer, String>> pidsOf (ITestDevice device,
String pgrepRegex)
الحصول على معرّفات العمليات التي تتطابق مع نمط تم تمريره إلى pgrep: بما أنّ /proc/pid/comm يتم اقتطاعه، تتم إضافة الخيار -f إلى pgrep للتحقّق من سطر الأوامر الكامل.
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pgrepRegex |
String : سلسلة تمثّل التعبير العادي لبرنامج pgrep |
المرتجعات |
Optional<Map<Integer, String>> |
تعيين اختياري لرقم تعريف العملية إلى سطر الأوامر، يكون فارغًا إذا لم يعرض pgrep EXIT_SUCCESS
|
عمليات الرمي |
DeviceNotAvailableException |
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid)
انتظِر حتى يتم إنهاء إحدى العمليات. لا يعني ذلك الانتظار إلى أن يتغيّر السعر، بل أن يكون
غير متوفّر. من الممكن، ولكن من غير المحتمل، أن تتم إعادة استخدام رقم تعريف العملية بين الاستطلاعات.
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pid |
int : معرّف العملية التي يجب الانتظار إلى أن تنتهي
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
انتظِر حتى يتم إنهاء إحدى العمليات. لا يعني ذلك الانتظار إلى أن يتغيّر السعر، بل أن يكون
غير متوفّر. من الممكن، ولكن من غير المحتمل، أن تتم إعادة استخدام رقم تعريف العملية بين الاستطلاعات.
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pid |
int : معرّف العملية التي يجب الانتظار إلى أن تنتهي |
timeoutMs |
long : مدة الانتظار قبل طرح TimeoutException
|
waitProcessRunning
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex,
long timeoutMs)
الانتظار إلى أن يتم العثور على عملية جارية لتعبير عادي معيّن
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pgrepRegex |
String : سلسلة تمثّل التعبير العادي لبرنامج pgrep |
timeoutMs |
long : مدة الانتظار قبل طرح TimeoutException |
المرتجعات |
Map<Integer, String> |
تعيين رقم تعريف العملية إلى الأمر من pidsOf(...)
|
عمليات الرمي |
TimeoutException |
|
DeviceNotAvailableException |
|
waitProcessRunning
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex)
الانتظار إلى أن يتم العثور على عملية جارية لتعبير عادي معيّن
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pgrepRegex |
String : سلسلة تمثّل التعبير العادي لبرنامج pgrep |
المرتجعات |
Map<Integer, String> |
تعيين رقم تعريف العملية إلى الأمر من pidsOf(...)
|
عمليات الرمي |
TimeoutException |
|
DeviceNotAvailableException |
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill,
long timeoutMs)
إنهاء عملية في بداية الاختبار ونهايته
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pgrepRegex |
String : نمط اسم العملية المطلوب قتلها لإرسالها إلى pgrep |
beforeCloseKill |
Runnable : عنصر قابل للتنفيذ لأي إجراءات تحتاج إلى تنظيف قبل إنهاء عملية
في بيئة عادية في نهاية الاختبار يمكن أن تكون فارغة. |
timeoutMs |
long : المدة بالملي ثانية التي يجب الانتظار خلالها حتى يتم إنهاء العملية |
المرتجعات |
AutoCloseable |
عنصر سيؤدي إلى إنهاء العملية مرة أخرى عند إغلاقها
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
إنهاء عملية في بداية الاختبار ونهايته
المعلمات |
device |
ITestDevice : الجهاز المُستخدَم |
pgrepRegex |
String : نمط اسم العملية المطلوب قتلها لإرسالها إلى pgrep |
beforeCloseKill |
Runnable : عنصر قابل للتنفيذ لأي إجراءات تحتاج إلى تنظيف قبل إنهاء عملية
في بيئة عادية في نهاية الاختبار يمكن أن تكون فارغة. |
المرتجعات |
AutoCloseable |
عنصر سيؤدي إلى إنهاء العملية مرة أخرى عند إغلاقها
|
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-03-26 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-03-26 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]