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)

احصل على معرفات التعريف (pids) المطابقة للنمط الذي تم تمريره إلى `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

اقتل الكل

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

اقتل الكل

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 عندما يكون هناك أكثر من معرف PID مطابق للنمط.

حدود
device ITestDevice : الجهاز الذي سيتم استخدامه

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

عائدات
Optional<Integer> عدد صحيح اختياري لرقم التعريف الشخصي؛ فارغ إذا لم يُرجع pgrep EXIT_SUCCESS

رميات
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

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

حدود
device ITestDevice : الجهاز الذي سيتم استخدامه

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

عائدات
Optional<Map<Integer, String>> خريطة اختيارية لـ pid لسطر الأوامر؛ فارغ إذا لم يُرجع 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> خريطة pid لأمر من pidsOf(...)

رميات
TimeoutException
DeviceNotAvailableException

waitProcessRunning

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