ProcessUtil

public final class ProcessUtil
extends Object

java.lang.Object
   ↳ com.android.sts.common.ProcessUtil


مساعدات مختلفة للعثور على العمليات على الجهاز والانتظار إلى أن تنتهي وقتل العمليات

ملخّص

الفئات المُدمجة

class ProcessUtil.KillException

 

الثابتات

long PROCESS_POLL_PERIOD_MS

long PROCESS_WAIT_TIMEOUT_MS

الطرق العامة

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 ما إذا تم إنهاء أي عمليات

عمليات الرمي
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killAll

public static boolean killAll (ITestDevice device, 
                String pgrepRegex, 
                long timeoutMs)

أرسِل إشارة SIGKILL إلى جميع العمليات التي تتطابق مع نمط معيّن.

المعلمات
device ITestDevice: الجهاز المُستخدَم

pgrepRegex String: سلسلة تمثّل التعبير العادي لبرنامج pgrep

timeoutMs long: مدة الانتظار قبل طرح TimeoutException

المرتجعات
boolean ما إذا تم إنهاء أي عمليات

عمليات الرمي
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

public static void killPid (ITestDevice device, 
                int pid, 
                long timeoutMs)

أرسِل إشارة SIGKILL إلى عملية وانتظِر خروجها.

المعلمات
device ITestDevice: الجهاز المُستخدَم

pid int: معرّف العملية التي يجب الانتظار إلى أن تنتهي

timeoutMs long: مدة الانتظار قبل طرح TimeoutException

عمليات الرمي
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

public static void killPid (ITestDevice device, 
                int pid, 
                int signal, 
                long timeoutMs)

أرسِل إشارة إلى عملية وانتظِر خروجها.

المعلمات
device ITestDevice: الجهاز المُستخدَم

pid int: معرّف العملية التي يجب الانتظار إلى أن تنتهي

signal int: الإشارة المطلوب إرسالها إلى العملية

timeoutMs long: مدة الانتظار قبل طرح TimeoutException

عمليات الرمي
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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: معرّف العملية التي يجب الانتظار إلى أن تنتهي

عمليات الرمي
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitPidExited

public static void waitPidExited (ITestDevice device, 
                int pid, 
                long timeoutMs)

انتظِر حتى يتم إنهاء إحدى العمليات. لا يعني ذلك الانتظار إلى أن يتغيّر السعر، بل أن يكون غير متوفّر. من الممكن، ولكن من غير المحتمل، أن تتم إعادة استخدام رقم تعريف العملية بين الاستطلاعات.

المعلمات
device ITestDevice: الجهاز المُستخدَم

pid int: معرّف العملية التي يجب الانتظار إلى أن تنتهي

timeoutMs long: مدة الانتظار قبل طرح TimeoutException

عمليات الرمي
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

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 عنصر سيؤدي إلى إنهاء العملية مرة أخرى عند إغلاقها

عمليات الرمي
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

withProcessKill

public static AutoCloseable withProcessKill (ITestDevice device, 
                String pgrepRegex, 
                Runnable beforeCloseKill)

إنهاء عملية في بداية الاختبار ونهايته

المعلمات
device ITestDevice: الجهاز المُستخدَم

pgrepRegex String: نمط اسم العملية المطلوب قتلها لإرسالها إلى pgrep

beforeCloseKill Runnable: عنصر قابل للتنفيذ لأي إجراءات تحتاج إلى تنظيف قبل إنهاء عملية في بيئة عادية في نهاية الاختبار يمكن أن تكون فارغة.

المرتجعات
AutoCloseable عنصر سيؤدي إلى إنهاء العملية مرة أخرى عند إغلاقها

عمليات الرمي
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException