ProcessUtil
public
final
class
ProcessUtil
extends Object
JavaScript.lang.Object
|
↳ |
com.android.sts.common.ProcessUtil
|
עוזרים שונים למצוא, להמתין ולסגור תהליכים במכשיר
סיכום
שיטות ציבוריות |
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 |
האם הופסקו תהליכים כלשהם
|
KillAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs)
שולחים את SIGKILL לכל התהליכים שתואמים לדפוס.
פרמטרים |
device |
ITestDevice : המכשיר שבו צריך להשתמש |
pgrepRegex |
String : מחרוזת שמייצגת את הביטוי הרגולרי של pgRep |
timeoutMs |
long : כמה זמן להמתין לפני הטלת חריגת זמן קצוב לתפוגה |
החזרות |
boolean |
האם הופסקו תהליכים כלשהם
|
KillPid
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
שולחים את SIGKILL לתהליך וממתינים ליציאה ממנו.
פרמטרים |
device |
ITestDevice : המכשיר שבו צריך להשתמש |
pid |
int : מזהה התהליך שצריך להמתין עד ליציאה |
timeoutMs |
long : כמה זמן להמתין לפני הטלת חריגת זמן קצוב לתפוגה
|
KillPid
public static void killPid (ITestDevice device,
int pid,
int signal,
long timeoutMs)
שולחים אות לתהליך וממתינים ליציאה ממנו.
פרמטרים |
device |
ITestDevice : המכשיר שבו צריך להשתמש |
pid |
int : מזהה התהליך שצריך להמתין עד ליציאה |
signal |
int : האות שצריך לשלוח לתהליך |
timeoutMs |
long : כמה זמן להמתין לפני הטלת חריגת זמן קצוב לתפוגה
|
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 : מזהה התהליך שצריך להמתין עד ליציאה
|
pendingPidיציאה
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
צריך להמתין עד ליציאה מתהליך. הוא לא מחכה לשינוי, אלא פשוט להיות
לא קיימות. ייתכן מצב שבו ייעשה שימוש חוזר ב-Pid בין קלפיות, אבל זה לא סביר
פרמטרים |
device |
ITestDevice : המכשיר שבו צריך להשתמש |
pid |
int : מזהה התהליך שצריך להמתין עד ליציאה |
timeoutMs |
long : כמה זמן להמתין לפני הטלת חריגת זמן קצוב לתפוגה
|
הרצת תהליך ההמתנה
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 |
אובייקט שיכבה שוב את התהליך כשהוא סגור
|
עםProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
משהים תהליך בהתחלה ובסיום של בדיקה.
פרמטרים |
device |
ITestDevice : המכשיר שבו צריך להשתמש |
pgrepRegex |
String : דפוס השם של תהליך הריגה לתת ל-pgRep |
beforeCloseKill |
Runnable : ניתן להרצה לכל פעולה שצריך לנקות לפני שמשתמשים בה
בסביבה רגילה בסיום הבדיקה. הערך יכול להיות null. |
החזרות |
AutoCloseable |
אובייקט שיכבה שוב את התהליך כשהוא סגור
|