ProcessUtil

public final class ProcessUtil
extends Object

JavaScript.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)

מקבלים את ה-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)

ממתינים עד שנמצא תהליך הרצה לביטוי רגולרי (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

ערך קבוע: 10,000 (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

KillAll

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

KillAll

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

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'. יש להשליך IllegalArgumentException כאשר יש יותר מ-PID אחד שתואם לדפוס.

פרמטרים
device ITestDevice: המכשיר שבו צריך להשתמש

pgrepRegex String: מחרוזת שמייצגת את הביטוי הרגולרי של pgRep

החזרות
Optional<Integer> מספר שלם אופציונלי של ה-pid; ריק אם pgRep לא החזירה exit_VISIT

קליעות
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_VISIT

קליעות
DeviceNotAvailableException

pendingPidיציאה

public static void waitPidExited (ITestDevice device, 
                int pid)

צריך להמתין עד ליציאה מתהליך. הוא לא מחכה לשינוי, אלא פשוט להיות לא קיימות. ייתכן מצב שבו ייעשה שימוש חוזר ב-Pid בין קלפיות, אבל זה לא סביר

פרמטרים
device ITestDevice: המכשיר שבו צריך להשתמש

pid int: מזהה התהליך שצריך להמתין עד ליציאה

קליעות
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

pendingPidיציאה

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)

ממתינים עד שיימצא תהליך פעיל לביטוי רגולרי (regex).

פרמטרים
device ITestDevice: המכשיר שבו צריך להשתמש

pgrepRegex String: מחרוזת שמייצגת את הביטוי הרגולרי של pgRep

timeoutMs long: כמה זמן להמתין לפני הטלת חריגת זמן קצוב לתפוגה

החזרות
Map<Integer, String> פקודת ה-pid לפקודה מ-pidsOf(...)

קליעות
TimeoutException
DeviceNotAvailableException

הרצת תהליך ההמתנה

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

ממתינים עד שיימצא תהליך פעיל לביטוי רגולרי (regex).

פרמטרים
device ITestDevice: המכשיר שבו צריך להשתמש

pgrepRegex String: מחרוזת שמייצגת את הביטוי הרגולרי של 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: ניתן להרצה לכל פעולה שצריך לנקות לפני שמשתמשים בה בסביבה רגילה בסיום הבדיקה. הערך יכול להיות null.

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: ניתן להרצה לכל פעולה שצריך לנקות לפני שמשתמשים בה בסביבה רגילה בסיום הבדיקה. הערך יכול להיות null.

החזרות
AutoCloseable אובייקט שיכבה שוב את התהליך כשהוא סגור

קליעות
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException