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)

קבל את ה-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 (0x00000000000002710)

שיטות ציבוריות

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 : מחרוזת המייצגת את הביטוי הרגולרי עבור 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

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_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
DeviceNotAvailableException
ProcessUtil.KillException

waitProcessRunning

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

המתן עד שיימצא תהליך פועל עבור ביטוי רגולרי נתון.

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

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

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

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

זורק
TimeoutException
DeviceNotAvailableException

waitProcessRunning

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

המתן עד שיימצא תהליך פועל עבור ביטוי רגולרי נתון.

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

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

החזרות
Map<Integer, String> מפת ה-pid to command מ-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