ยูทิลิตี้การประมวลผล
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
มูลค่าคงที่:
10,000
(0x0000000000002710)
วิธีการสาธารณะ
findFileLoadedByProcess
public static Optional<IFileEntry> findFileLoadedByProcess (ITestDevice device,
String process,
String filenameSubstr)
แสดงรายการไฟล์ของไฟล์แรกที่โหลดโดยกระบวนการที่ระบุพร้อมด้วยชื่อที่ระบุ
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
process |
String : รูปแบบ pgrep ของกระบวนการที่จะค้นหา |
filenameSubstr |
String : ส่วนหนึ่งของชื่อ/เส้นทางของไฟล์ที่โหลดโดยกระบวนการนี้ |
คิกรีเทิร์น |
Optional<IFileEntry> |
Opotional ของ IFileEntry ของเส้นทางไฟล์ในอุปกรณ์ หากมี
|
การขว้าง |
DeviceNotAvailableException |
|
ค้นหาไฟล์โหลดโดยกระบวนการ
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 : ระยะเวลาที่จะรอก่อนจะแสดงข้อผิดพลาด TimeoutException |
expectExist |
boolean : ควรทิ้งข้อยกเว้นหรือไม่เมื่อไม่มีการหยุดทำงานของกระบวนการ |
คิกรีเทิร์น |
boolean |
มีกระบวนการใดที่ถูกยุติการใช้งานหรือไม่
|
ฆ่าทั้งหมด
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs)
ส่ง SIGKILL ไปยังกระบวนการทั้งหมดที่ตรงกับรูปแบบ
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
pgrepRegex |
String : สตริงที่แสดงถึงนิพจน์ทั่วไปสำหรับ pgrep |
timeoutMs |
long : ระยะเวลาที่จะรอก่อนที่จะส่ง หมดเวลา ExceptionException |
คิกรีเทิร์น |
boolean |
มีกระบวนการใดที่ถูกยุติการใช้งานหรือไม่
|
KillPid
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
ส่ง SIGKILL ไปยังกระบวนการและรอให้ออกจากกระบวนการ
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
pid |
int : รหัสของกระบวนการที่ต้องรอจนกว่าจะออก |
timeoutMs |
long : ระยะเวลาที่จะรอก่อนที่จะส่ง หมดเวลา ExceptionException
|
KillPid
public static void killPid (ITestDevice device,
int pid,
int signal,
long timeoutMs)
ส่งสัญญาณไปยังกระบวนการและรอให้ออกจากกระบวนการ
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
pid |
int : รหัสของกระบวนการที่ต้องรอจนกว่าจะออก |
signal |
int : สัญญาณที่จะส่งไปยังกระบวนการ |
timeoutMs |
long : ระยะเวลาที่จะรอก่อนที่จะส่ง หมดเวลา ExceptionException
|
แสดงรายการOpenFiles
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 มากกว่า 1 รายการที่ตรงกับรูปแบบ
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
pgrepRegex |
String : สตริงที่แสดงถึงนิพจน์ทั่วไปสำหรับ pgrep |
คิกรีเทิร์น |
Optional<Integer> |
จำนวนเต็มที่ไม่บังคับของ pid ว่างเปล่าหาก pgrep ไม่แสดงผล EXIT_SUCCESS
|
การขว้าง |
DeviceNotAvailableException |
|
IllegalArgumentException |
|
pidsของ
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 |
|
รอPidExit
public static void waitPidExited (ITestDevice device,
int pid)
รอให้ออกจากกระบวนการ สิ่งนี้ไม่ใช่การรอให้มีการเปลี่ยนแปลง เพียงแต่ต้อง
ไม่มีอยู่ เป็นไปได้ (แต่ก็ไม่น่าเป็นไปได้ที่จะมีการนํา Pid มาใช้ซ้ำระหว่างแบบสํารวจ)
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
pid |
int : รหัสของกระบวนการที่ต้องรอจนกว่าจะออก
|
รอPidExit
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
รอให้ออกจากกระบวนการ สิ่งนี้ไม่ใช่การรอให้มีการเปลี่ยนแปลง เพียงแต่ต้อง
ไม่มีอยู่ เป็นไปได้ (แต่ก็ไม่น่าเป็นไปได้ที่จะมีการนํา Pid มาใช้ซ้ำระหว่างแบบสํารวจ)
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
pid |
int : รหัสของกระบวนการที่ต้องรอจนกว่าจะออก |
timeoutMs |
long : ระยะเวลาที่จะรอก่อนที่จะส่ง หมดเวลา ExceptionException
|
กำลังดำเนินการรอ
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex,
long timeoutMs)
รอจนกว่าระบบจะพบกระบวนการที่ทำงานอยู่สำหรับนิพจน์ทั่วไปที่กำหนด
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
pgrepRegex |
String : สตริงที่แสดงถึงนิพจน์ทั่วไปสำหรับ pgrep |
timeoutMs |
long : ระยะเวลาที่จะรอก่อนที่จะส่ง หมดเวลา ExceptionException |
คิกรีเทิร์น |
Map<Integer, String> |
pid กับคำสั่งแมปจาก pidsOf(...)
|
การขว้าง |
TimeoutException |
|
DeviceNotAvailableException |
|
กำลังดำเนินการรอ
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex)
รอจนกว่าระบบจะพบกระบวนการที่ทำงานอยู่สำหรับนิพจน์ทั่วไปที่กำหนด
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
pgrepRegex |
String : สตริงที่แสดงถึงนิพจน์ทั่วไปสำหรับ pgrep |
คิกรีเทิร์น |
Map<Integer, String> |
pid กับคำสั่งแมปจาก pidsOf(...)
|
การขว้าง |
TimeoutException |
|
DeviceNotAvailableException |
|
พร้อมกระบวนการKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill,
long timeoutMs)
ยุติกระบวนการในช่วงเริ่มต้นและสิ้นสุดการทดสอบ
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
pgrepRegex |
String : รูปแบบชื่อของกระบวนการที่จะฆ่าเพื่อให้ pgrep |
beforeCloseKill |
Runnable : เรียกใช้ได้สำหรับการดำเนินการใดๆ ที่ต้องล้างก่อนที่จะหยุดทำงาน
ในสภาพแวดล้อมปกติเมื่อสิ้นสุดการทดสอบ อาจเป็นค่าว่างได้ |
timeoutMs |
long : ระยะเวลาเป็นมิลลิวินาทีที่รอให้กระบวนการหยุดทำงาน |
คิกรีเทิร์น |
AutoCloseable |
ออบเจ็กต์ที่จะยุติกระบวนการอีกครั้งเมื่อปิดลง
|
พร้อมกระบวนการKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
ยุติกระบวนการในช่วงเริ่มต้นและสิ้นสุดการทดสอบ
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
pgrepRegex |
String : รูปแบบชื่อของกระบวนการที่จะฆ่าเพื่อให้ pgrep |
beforeCloseKill |
Runnable : เรียกใช้ได้สำหรับการดำเนินการใดๆ ที่ต้องล้างก่อนที่จะหยุดทำงาน
ในสภาพแวดล้อมปกติเมื่อสิ้นสุดการทดสอบ อาจเป็นค่าว่างได้ |
คิกรีเทิร์น |
AutoCloseable |
ออบเจ็กต์ที่จะยุติกระบวนการอีกครั้งเมื่อปิดลง
|