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" را دریافت کنید.

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)

صبر کنید تا یک فرآیند در حال اجرا برای یک regex مشخص پیدا شود.

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

صبر کنید تا یک فرآیند در حال اجرا برای یک regex مشخص پیدا شود.

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. اگر pid پیدا نشد خالی است

پرتاب می کند
DeviceNotAvailableException

همه را بکش

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

SIGKILL را به تمام فرآیندهای مطابق با یک الگو ارسال کنید.

مولفه های
device ITestDevice : دستگاهی برای استفاده

pgrepRegex String : رشته ای که نشان دهنده regex برای 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 : رشته ای که نشان دهنده regex برای 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)

یک pid منطبق با الگوی ارسال شده به "pgrep" دریافت کنید. زمانی که بیش از یک PID مطابق با الگو وجود دارد، یک IllegalArgumentException را پرتاب کنید.

مولفه های
device ITestDevice : دستگاهی برای استفاده

pgrepRegex String : رشته ای که نشان دهنده regex برای pgrep است

برمی گرداند
Optional<Integer> یک عدد صحیح اختیاری از pid. اگر pgrep EXIT_SUCCESS را برنگرداند خالی است

پرتاب می کند
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

پیدهای مطابق با الگوی ارسال شده به "pgrep" را دریافت کنید. از آنجایی که /proc/pid/comm کوتاه است، برای بررسی خط فرمان کامل، «pgrep» با «-f» ارسال می‌شود.

مولفه های
device ITestDevice : دستگاهی برای استفاده

pgrepRegex String : رشته ای که نشان دهنده regex برای pgrep است

برمی گرداند
Optional<Map<Integer, String>> نقشه اختیاری pid به خط فرمان. اگر pgrep EXIT_SUCCESS را برنگرداند خالی است

پرتاب می کند
DeviceNotAvailableException

waitPidExited

public static void waitPidExited (ITestDevice device, 
                int pid)

صبر کنید تا یک فرآیند خارج شود. این منتظر تغییر آن نیست، بلکه به سادگی وجود ندارد. ممکن است، اما بعید است که یک pid بین نظرسنجی ها دوباره استفاده شود

مولفه های
device ITestDevice : دستگاهی برای استفاده

pid int : شناسه فرآیند منتظر ماندن تا خروج

پرتاب می کند
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitPidExited

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

صبر کنید تا یک فرآیند خارج شود. این منتظر تغییر آن نیست، بلکه به سادگی وجود ندارد. ممکن است، اما بعید است که یک pid بین نظرسنجی ها دوباره استفاده شود

مولفه های
device ITestDevice : دستگاهی برای استفاده

pid int : شناسه فرآیند منتظر ماندن تا خروج

timeoutMs long : چه مدت باید قبل از پرتاب TimeoutException صبر کرد

پرتاب می کند
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

WaitProcess Running

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

صبر کنید تا یک فرآیند در حال اجرا برای یک regex مشخص پیدا شود.

مولفه های
device ITestDevice : دستگاهی برای استفاده

pgrepRegex String : رشته ای که نشان دهنده regex برای pgrep است

timeoutMs long : چه مدت باید قبل از پرتاب TimeoutException صبر کرد

برمی گرداند
Map<Integer, String> نقشه pid به دستور از pidsOf(...)

پرتاب می کند
TimeoutException
DeviceNotAvailableException

WaitProcess Running

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

صبر کنید تا یک فرآیند در حال اجرا برای یک regex مشخص پیدا شود.

مولفه های
device ITestDevice : دستگاهی برای استفاده

pgrepRegex String : رشته ای که نشان دهنده regex برای pgrep است

برمی گرداند
Map<Integer, String> نقشه pid به دستور از pidsOf(...)

پرتاب می کند
TimeoutException
DeviceNotAvailableException

با ProcessKill

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

با ProcessKill

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

یک فرآیند را در ابتدا و انتهای یک آزمایش بکشید.

مولفه های
device ITestDevice : دستگاهی برای استفاده

pgrepRegex String : الگوی نام فرآیند کشتن برای دادن به pgrep

beforeCloseKill Runnable : قابل اجرا برای هر عملی که نیاز به پاکسازی قبل از کشتن فرآیند در یک محیط عادی در پایان آزمایش دارد. می تواند پوچ باشد.

برمی گرداند
AutoCloseable شی ای که پس از بسته شدن دوباره فرآیند را از بین می برد

پرتاب می کند
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException