החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
ProcessUtil
public
final
class
ProcessUtil
extends Object
java.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)
הצגת מזהי ה-pid שתואמים לדפוס שהוענק ל-`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. המחרוזת תהיה ריקה אם לא ניתן למצוא את ה-pid.
|
זריקות |
DeviceNotAvailableException |
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs,
boolean expectExist)
שליחת SIGKILL לכל התהליכים שתואמים לדפוס.
פרמטרים |
device |
ITestDevice : המכשיר שבו רוצים להשתמש |
pgrepRegex |
String : מחרוזת שמייצגת את הביטוי הרגולרי של pgrep |
timeoutMs |
long : משך הזמן להמתנה לפני השלכת TimeoutException |
expectExist |
boolean : האם להפעיל חריגה כשלא נהרגו תהליכים |
החזרות |
boolean |
אם תהליכים כלשהם הושמדו
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs)
שליחת SIGKILL לכל התהליכים שתואמים לדפוס.
פרמטרים |
device |
ITestDevice : המכשיר שבו רוצים להשתמש |
pgrepRegex |
String : מחרוזת שמייצגת את הביטוי הרגולרי של pgrep |
timeoutMs |
long : משך הזמן להמתנה לפני השלכת TimeoutException |
החזרות |
boolean |
אם תהליכים כלשהם הושמדו
|
killPid
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
שולחים SIGKILL לתהליך וממתינים לסיום הפעולה שלו.
פרמטרים |
device |
ITestDevice : המכשיר שבו רוצים להשתמש |
pid |
int : המזהה של התהליך שצריך להמתין עד לסיום שלו |
timeoutMs |
long : משך הזמן להמתנה לפני השלכת TimeoutException
|
killPid
public static void killPid (ITestDevice device,
int pid,
int signal,
long timeoutMs)
שליחת אות לתהליך והמתנה לסיום שלו.
פרמטרים |
device |
ITestDevice : המכשיר שבו רוצים להשתמש |
pid |
int : המזהה של התהליך שצריך להמתין עד לסיום שלו |
signal |
int : האות ששולחים לתהליך |
timeoutMs |
long : משך הזמן להמתנה לפני השלכת TimeoutException
|
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)
הצגת מזהי ה-pid שתואמים לדפוס שהוענק ל-`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)
המתנה לסיום תהליך. אין צורך לחכות שהיא תשתנה, אלא פשוט לא צריך אותה. יכול להיות (אבל לא סביר) ש-pid ישמש שוב בין סקרים
פרמטרים |
device |
ITestDevice : המכשיר שבו רוצים להשתמש |
pid |
int : המזהה של התהליך שצריך להמתין עד לסיום שלו
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
המתנה לסיום תהליך. אין צורך לחכות שהיא תשתנה, אלא פשוט לא צריך אותה. יכול להיות (אבל לא סביר) ש-pid ישמש שוב בין סקרים
פרמטרים |
device |
ITestDevice : המכשיר שבו רוצים להשתמש |
pid |
int : המזהה של התהליך שצריך להמתין עד לסיום שלו |
timeoutMs |
long : משך הזמן להמתנה לפני השלכת TimeoutException
|
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 : קובץ הפעלה לכל הפעולות שצריך לבצע כדי לנקות לפני שמפסיקים את התהליך בסביבה רגילה בסוף הבדיקה. הערך יכול להיות null. |
timeoutMs |
long : משך הזמן באלפיות השנייה שצריך להמתין עד שהתהליך יופסק |
החזרות |
AutoCloseable |
אובייקט שיגרום שוב לסגירת התהליך
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
סגירת תהליך בתחילת הבדיקה ובסופה.
פרמטרים |
device |
ITestDevice : המכשיר שבו רוצים להשתמש |
pgrepRegex |
String : תבנית השם של התהליך שרוצים להרוג, שצריך לתת ל-pgrep |
beforeCloseKill |
Runnable : קובץ הפעלה לכל הפעולות שצריך לבצע כדי לנקות לפני שמפסיקים את התהליך בסביבה רגילה בסוף הבדיקה. הערך יכול להיות null. |
החזרות |
AutoCloseable |
אובייקט שיגרום שוב לסגירת התהליך
|
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-03-26 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-03-26 (שעון UTC)."],[],[]]