ตั้งแต่วันที่ 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-07-27 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-07-27 UTC"],[],[]]