ตั้งแต่วันที่ 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 ที่ตรงกับรูปแบบมีมากกว่า 1 รายการ
พารามิเตอร์ |
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 : การดำเนินการที่เรียกใช้ได้ซึ่งจำเป็นต้องล้างข้อมูลก่อนที่จะหยุดกระบวนการในสภาพแวดล้อมปกติเมื่อสิ้นสุดการทดสอบ อาจเป็นค่าว่างได้ |
timeoutMs |
long : ระยะเวลารอเป็นมิลลิวินาทีเพื่อให้ระบบฆ่ากระบวนการ |
คิกรีเทิร์น |
AutoCloseable |
ออบเจ็กต์ที่จะหยุดกระบวนการอีกครั้งเมื่อปิด
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
หยุดกระบวนการที่จุดเริ่มต้นและจุดสิ้นสุดของการทดสอบ
พารามิเตอร์ |
device |
ITestDevice : อุปกรณ์ที่จะใช้ |
pgrepRegex |
String : รูปแบบชื่อของกระบวนการที่จะฆ่าเพื่อส่งไปยัง pgrep |
beforeCloseKill |
Runnable : การดำเนินการที่เรียกใช้ได้ซึ่งจำเป็นต้องล้างข้อมูลก่อนที่จะหยุดกระบวนการในสภาพแวดล้อมปกติเมื่อสิ้นสุดการทดสอบ อาจเป็นค่าว่างได้ |
คิกรีเทิร์น |
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"],[],[]]