ProcessUtil
public
final
class
ProcessUtil
extends Object
java.lang.Object
|
↳ |
com.android.sts.common.ProcessUtil
|
Nhiều trình trợ giúp để tìm, chờ và loại bỏ các quy trình trên thiết bị
Tóm tắt
Phương thức công khai |
static
Optional<IFileEntry>
|
findFileLoadedByProcess(ITestDevice device, String process, String filenameSubstr)
Trả về mục nhập tệp của tệp đầu tiên được tải bằng quy trình đã chỉ định với tên đã chỉ định
|
static
Optional<List<String>>
|
findFilesLoadedByProcess(ITestDevice device, int pid, Pattern filePattern)
Trả về tên tệp của tệp được chỉ định, được tải bằng quy trình được chỉ định.
|
static
Optional<String>
|
getProcessName(ITestDevice device, int pid)
Lấy nội dung từ /proc/pid/cmdline.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs, boolean expectExist)
Gửi SIGKILL đến tất cả các quy trình khớp với một mẫu.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs)
Gửi SIGKILL đến tất cả các quy trình khớp với một mẫu.
|
static
void
|
killPid(ITestDevice device, int pid, long timeoutMs)
Gửi SIGKILL đến một quy trình và đợi quy trình đó thoát.
|
static
void
|
killPid(ITestDevice device, int pid, int signal, long timeoutMs)
Gửi tín hiệu đến một quy trình và chờ quy trình đó thoát.
|
static
Optional<List<String>>
|
listOpenFiles(ITestDevice device, int pid)
Trả về tên tệp hiện đang mở của quy trình được chỉ định.
|
static
Optional<Integer>
|
pidOf(ITestDevice device, String pgrepRegex)
Lấy một pid duy nhất khớp với mẫu được truyền đến `pgrep`.
|
static
Optional<Map<Integer, String>>
|
pidsOf(ITestDevice device, String pgrepRegex)
Lấy các pid khớp với mẫu được truyền đến `pgrep`.
|
static
void
|
waitPidExited(ITestDevice device, int pid)
Chờ một quy trình thoát.
|
static
void
|
waitPidExited(ITestDevice device, int pid, long timeoutMs)
Chờ thoát một quy trình.
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex, long timeoutMs)
Chờ cho đến khi tìm thấy một quy trình đang chạy cho một biểu thức chính quy nhất định.
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex)
Chờ cho đến khi tìm thấy một quy trình đang chạy cho một biểu thức chính quy nhất định.
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill, long timeoutMs)
Tắt một quy trình ở đầu và cuối quy trình kiểm thử.
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill)
Tắt một quy trình ở đầu và cuối quy trình kiểm thử.
|
Hằng số
PROCESS_POLL_PERIOD_MS
public static final long PROCESS_POLL_PERIOD_MS
Giá trị không đổi:
250
(0x00000000000000fa)
PROCESS_WAIT_TIMEOUT_MS
public static final long PROCESS_WAIT_TIMEOUT_MS
Giá trị không đổi:
10000
(0x0000000000002710)
Phương thức công khai
findFileLoadedByProcess
public static Optional<IFileEntry> findFileLoadedByProcess (ITestDevice device,
String process,
String filenameSubstr)
Trả về mục nhập tệp của tệp đầu tiên được tải bằng quy trình đã chỉ định với tên đã chỉ định
Tham số |
device |
ITestDevice : thiết bị sẽ chạy |
process |
String : mẫu pgrep của quy trình cần tìm |
filenameSubstr |
String : một phần tên/đường dẫn tệp do quy trình tải |
Giá trị trả về |
Optional<IFileEntry> |
Một tuỳ chọn của IFileEntry về đường dẫn của tệp trên thiết bị nếu có.
|
Gửi |
DeviceNotAvailableException |
|
findFilesLoadedByProcess
public static Optional<List<String>> findFilesLoadedByProcess (ITestDevice device,
int pid,
Pattern filePattern)
Trả về tên tệp của tệp được chỉ định, được tải bằng quy trình được chỉ định.
Tham số |
device |
ITestDevice : thiết bị sẽ chạy |
pid |
int : mã nhận dạng của quy trình cần tìm kiếm |
filePattern |
Pattern : mẫu tên tệp cần trả về |
Giá trị trả về |
Optional<List<String>> |
Không bắt buộc đối với các tệp đã lọc; trống nếu không tìm thấy quy trình hoặc không thể đọc các tệp đang mở.
|
Gửi |
DeviceNotAvailableException |
|
getProcessName
public static Optional<String> getProcessName (ITestDevice device,
int pid)
Lấy nội dung từ /proc/pid/cmdline.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pid |
int : mã nhận dạng của quy trình để lấy tên |
Giá trị trả về |
Optional<String> |
Chuỗi Không bắt buộc của nội dung /proc/pid/cmdline; trống nếu không tìm thấy pid
|
Gửi |
DeviceNotAvailableException |
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs,
boolean expectExist)
Gửi SIGKILL đến tất cả các quy trình khớp với một mẫu.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pgrepRegex |
String : Chuỗi đại diện cho biểu thức chính quy cho pgrep |
timeoutMs |
long : thời gian chờ trước khi gửi TimeoutException |
expectExist |
boolean : liệu có nên gửi một ngoại lệ khi không có quy trình nào bị huỷ hay không |
Giá trị trả về |
boolean |
liệu có quy trình nào bị buộc tắt hay không
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs)
Gửi SIGKILL đến tất cả các quy trình khớp với một mẫu.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pgrepRegex |
String : Chuỗi đại diện cho biểu thức chính quy cho pgrep |
timeoutMs |
long : thời gian chờ trước khi gửi TimeoutException |
Giá trị trả về |
boolean |
liệu có quy trình nào bị buộc tắt hay không
|
killPid
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
Gửi SIGKILL đến một quy trình và đợi quy trình đó thoát.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pid |
int : mã nhận dạng của quy trình cần chờ cho đến khi thoát |
timeoutMs |
long : thời gian chờ trước khi gửi TimeoutException
|
killPid
public static void killPid (ITestDevice device,
int pid,
int signal,
long timeoutMs)
Gửi tín hiệu đến một quy trình và chờ quy trình đó thoát.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pid |
int : mã nhận dạng của quy trình cần chờ cho đến khi thoát |
signal |
int : tín hiệu cần gửi đến quy trình |
timeoutMs |
long : thời gian chờ trước khi gửi TimeoutException
|
listOpenFiles
public static Optional<List<String>> listOpenFiles (ITestDevice device,
int pid)
Trả về tên tệp hiện đang mở của quy trình được chỉ định.
Tham số |
device |
ITestDevice : thiết bị sẽ chạy |
pid |
int : mã nhận dạng của quy trình cần tìm kiếm |
Giá trị trả về |
Optional<List<String>> |
Không bắt buộc đối với các tệp đang mở; trống nếu không tìm thấy quy trình hoặc không thể đọc các tệp đang mở.
|
Gửi |
DeviceNotAvailableException |
|
pidOf
public static Optional<Integer> pidOf (ITestDevice device,
String pgrepRegex)
Lấy một pid khớp với mẫu được truyền đến `pgrep`. Gửi một IllegalArgumentException
khi có nhiều PID khớp với mẫu.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pgrepRegex |
String : Chuỗi đại diện cho biểu thức chính quy cho pgrep |
Giá trị trả về |
Optional<Integer> |
Số nguyên không bắt buộc của pid; trống nếu pgrep không trả về EXIT_SUCCESS
|
Gửi |
DeviceNotAvailableException |
|
IllegalArgumentException |
|
pidsOf
public static Optional<Map<Integer, String>> pidsOf (ITestDevice device,
String pgrepRegex)
Lấy các pid khớp với mẫu được truyền đến `pgrep`. Vì /proc/pid/comm bị cắt bớt, nên `pgrep` được truyền với `-f` để kiểm tra toàn bộ dòng lệnh.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pgrepRegex |
String : Chuỗi đại diện cho biểu thức chính quy cho pgrep |
Giá trị trả về |
Optional<Map<Integer, String>> |
Bản đồ không bắt buộc của pid đến dòng lệnh; trống nếu pgrep không trả về EXIT_SUCCESS
|
Gửi |
DeviceNotAvailableException |
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid)
Chờ một quy trình thoát. Đây không phải là việc chờ giá trị thay đổi, mà đơn giản là giá trị không tồn tại. Có thể, nhưng khó có khả năng một pid được sử dụng lại giữa các cuộc thăm dò
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pid |
int : mã nhận dạng của quy trình cần chờ cho đến khi thoát
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
Chờ một quy trình thoát. Đây không phải là việc chờ giá trị thay đổi, mà đơn giản là giá trị không tồn tại. Có thể, nhưng khó có khả năng một pid được sử dụng lại giữa các cuộc thăm dò
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pid |
int : mã nhận dạng của quy trình cần chờ cho đến khi thoát |
timeoutMs |
long : thời gian chờ trước khi gửi TimeoutException
|
waitProcessRunning
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex,
long timeoutMs)
Chờ cho đến khi tìm thấy một quy trình đang chạy cho một biểu thức chính quy nhất định.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pgrepRegex |
String : Chuỗi đại diện cho biểu thức chính quy cho pgrep |
timeoutMs |
long : thời gian chờ trước khi gửi TimeoutException |
Giá trị trả về |
Map<Integer, String> |
pid đến bản đồ lệnh từ pidsOf(...)
|
Gửi |
TimeoutException |
|
DeviceNotAvailableException |
|
waitProcessRunning
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex)
Chờ cho đến khi tìm thấy một quy trình đang chạy cho một biểu thức chính quy nhất định.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pgrepRegex |
String : Chuỗi đại diện cho biểu thức chính quy cho pgrep |
Giá trị trả về |
Map<Integer, String> |
pid đến bản đồ lệnh từ pidsOf(...)
|
Gửi |
TimeoutException |
|
DeviceNotAvailableException |
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill,
long timeoutMs)
Tắt một quy trình ở đầu và cuối quy trình kiểm thử.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pgrepRegex |
String : mẫu tên của quy trình cần huỷ để cung cấp cho pgrep |
beforeCloseKill |
Runnable : một đối tượng có thể chạy cho mọi thao tác cần dọn dẹp trước khi chấm dứt quy trình trong môi trường thông thường khi kết thúc kiểm thử. Có thể là giá trị rỗng. |
timeoutMs |
long : thời lượng chờ (tính bằng mili giây) để loại bỏ quy trình |
Giá trị trả về |
AutoCloseable |
Một đối tượng sẽ huỷ quá trình này một lần nữa khi quá trình đó bị đóng
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
Tắt một quy trình ở đầu và cuối quy trình kiểm thử.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pgrepRegex |
String : mẫu tên của quy trình cần huỷ để cung cấp cho pgrep |
beforeCloseKill |
Runnable : một đối tượng có thể chạy cho mọi thao tác cần dọn dẹp trước khi chấm dứt quy trình trong môi trường thông thường khi kết thúc kiểm thử. Có thể là giá trị rỗng. |
Giá trị trả về |
AutoCloseable |
Một đối tượng sẽ huỷ quá trình này một lần nữa khi quá trình đó bị đóng
|