رقم 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)

احصل على معرّف PID واحد يطابق نمطًا تم تمريره إلى `pgrep`.

static Optional<Map<Integer, String>> pidsOf(ITestDevice device, String pgrepRegex)

يمكنك الحصول على معرّفات pgrep التي تتطابق مع النمط الذي تم تمريره إلى `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_')}>_MS

public static final long PROCESS_WAIT_TIMEOUT_MS

القيمة الثابتة: 10,000 (0x0000000000002710)

الطرق العامة

العثور علىملف تم تحميله بواسطة عملية

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؛ فارغة إذا لم يتمكن pid يمكن العثور عليه

الرميات
DeviceNotAvailableException

قم بإغلاق الكل

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

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

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

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

timeoutMs long: مدة الانتظار قبل طرح مهلة الاستثناء

expectExist boolean: ما إذا كان يجب تطبيق استثناء في حالة عدم تنفيذ أي عمليات

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

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

قم بإغلاق الكل

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

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

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

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

timeoutMs long: مدة الانتظار قبل طرح مهلة الاستثناء

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

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

قم بإغلاق-KILLPid

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

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

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

pid int: رقم تعريف العملية للانتظار حتى يتم الخروج منها

timeoutMs long: مدة الانتظار قبل طرح مهلة الاستثناء

الرميات
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: مدة الانتظار قبل طرح مهلة الاستثناء

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

قائمةOpenFiles

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)

احصل على معرّف PID واحد يطابق نمطًا تم تمريره إلى `pgrep`. يمكنك عرض IllegalArgumentException عندما يكون هناك أكثر من معرّف PID واحد يتطابق مع النمط.

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

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

المرتجعات
Optional<Integer> عدد صحيح اختياري لقيمة pid؛ فارغة إذا لم تعرض صفحة pgrep الحالة EXIT_Success

الرميات
DeviceNotAvailableException
IllegalArgumentException

pidsOf

public static Optional<Map<Integer, String>> pidsOf (ITestDevice device, 
                String pgrepRegex)

يمكنك الحصول على معرّفات pgrep التي تتطابق مع النمط الذي تم تمريره إلى `pgrep`. بسبب اقتطاع /proc/pid/comm، يتم تمرير `pgrep` باستخدام `-f` للتحقق من سطر الأوامر الكامل.

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

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

المرتجعات
Optional<Map<Integer, String>> خريطة اختيارية من pid إلى سطر الأوامر؛ فارغة إذا لم تعرض صفحة pgrep الحالة EXIT_Success

الرميات
DeviceNotAvailableException

تم الخروج من BrandConnect

public static void waitPidExited (ITestDevice device, 
                int pid)

الانتظار حتى يتم الخروج من العملية هذا ليس انتظارًا للتغيير، ولكن ببساطة غير موجود. من الممكن، ولكن من غير المرجّح، إعادة استخدام PID بين الاستطلاعات

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

pid int: رقم تعريف العملية للانتظار حتى يتم الخروج منها

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

تم الخروج من BrandConnect

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

الانتظار حتى يتم الخروج من العملية هذا ليس انتظارًا للتغيير، ولكن ببساطة غير موجود. من الممكن، ولكن من غير المرجّح، إعادة استخدام PID بين الاستطلاعات

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

pid int: رقم تعريف العملية للانتظار حتى يتم الخروج منها

timeoutMs long: مدة الانتظار قبل طرح مهلة الاستثناء

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

انتظار عملية التشغيل

public static Map<Integer, String> waitProcessRunning (ITestDevice device, 
                String pgrepRegex, 
                long timeoutMs)

انتظر حتى يتم العثور على عملية قيد التشغيل لتعبير عادي معيّن.

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

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

timeoutMs long: مدة الانتظار قبل طرح مهلة الاستثناء

المرتجعات
Map<Integer, String> تعيين pid إلى الأوامر من pidsOf(...)

الرميات
TimeoutException
DeviceNotAvailableException

انتظار عملية التشغيل

public static Map<Integer, String> waitProcessRunning (ITestDevice device, 
                String pgrepRegex)

انتظر حتى يتم العثور على عملية قيد التشغيل لتعبير عادي معيّن.

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

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

المرتجعات
Map<Integer, String> تعيين pid إلى الأوامر من 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