Tiện ích quy trình
public
final
class
ProcessUtil
extends Object
java.lang.Object
|
↳ |
com.android.sts.common.ProcessUtil
|
Nhiều người 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 theo quy trình được chỉ định kèm theo tên được 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 theo quy trình cụ thể.
|
static
Optional<String>
|
getProcessName(ITestDevice device, int pid)
Lấy nội dung qua /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à chờ 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ờ thoát.
|
static
Optional<List<String>>
|
listOpenFiles(ITestDevice device, int pid)
Trả về tên tệp hiện đang mở của tiến 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ột mẫu được truyền đến "pgrep".
|
static
Optional<Map<Integer, String>>
|
pidsOf(ITestDevice device, String pgrepRegex)
Lấy pid khớp với mẫu được truyền đến `pgrep`.
|
static
void
|
waitPidExited(ITestDevice device, int pid)
Đợi thoát khỏi một quá trình.
|
static
void
|
waitPidExited(ITestDevice device, int pid, long timeoutMs)
Đợi thoát khỏi một quá 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)
Loại bỏ một quy trình ở đầu và cuối chương trình kiểm thử.
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill)
Loại bỏ một quy trình ở đầu và cuối chương trình kiểm thử.
|
Hằng số
VIEWS_PACKAGES_PERIOD_MS
public static final long PROCESS_POLL_PERIOD_MS
Giá trị không đổi:
250
(0x00000000000000fa)
Process_PENDING_TIMEOUT_MS
public static final long PROCESS_WAIT_TIMEOUT_MS
Giá trị không đổi:
10.000
(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 theo quy trình được chỉ định kèm theo tên đã chỉ định
Tham số |
device |
ITestDevice : thiết bị sẽ chạy trên đó |
process |
String : mẫu quy trình pgrep cần tìm kiế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> |
Giá trị IFileEntry của đườ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ụ thể do quy trình cụ thể tải.
Tham số |
device |
ITestDevice : thiết bị sẽ chạy trên đó |
pid |
int : mã 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>> |
các tệp đã lọc không bắt buộc; trống nếu không tìm thấy quy trình hoặc quy trình mở
không thể đọc tệp.
|
Gửi |
DeviceNotAvailableException |
|
nhận tên tiến trình
public static Optional<String> getProcessName (ITestDevice device,
int pid)
Lấy nội dung qua /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 về nội dung của /proc/pid/cmdline; để trống nếu pid không thể
được tìm thấy
|
Gửi |
DeviceNotAvailableException |
|
tiêu diệt tất cả
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 biểu thị biểu thức chính quy cho pgrep |
timeoutMs |
long : thời gian phải chờ trước khi gửi một Tham gia nữa Exception |
expectExist |
boolean : liệu có gửi trường hợp ngoại lệ khi không có quy trình nào bị dừng |
Giá trị trả về |
boolean |
có bị dừng bất kỳ quy trình nào không
|
tiêu diệt tất cả
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 biểu thị biểu thức chính quy cho pgrep |
timeoutMs |
long : thời gian chờ trước khi gửi một ExpirationException |
Giá trị trả về |
boolean |
có bị dừng bất kỳ quy trình nào không
|
giếtPid
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
Gửi SIGKILL đến một quy trình và chờ thoát.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pid |
int : mã của quy trình sẽ chờ cho đến khi thoát |
timeoutMs |
long : thời gian phải chờ trước khi gửi một Tham gia nữa Exception
|
giếtPid
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ờ thoát.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pid |
int : mã của quy trình sẽ chờ cho đến khi thoát |
signal |
int : tín hiệu để gửi đến quy trình |
timeoutMs |
long : thời gian chờ trước khi gửi một ExpirationException
|
listOpenFiles
public static Optional<List<String>> listOpenFiles (ITestDevice device,
int pid)
Trả về tên tệp hiện đang mở của tiến trình được chỉ định.
Tham số |
device |
ITestDevice : thiết bị sẽ chạy trên đó |
pid |
int : mã của quy trình cần tìm kiếm |
Giá trị trả về |
Optional<List<String>> |
các tệp đang mở (không bắt buộc); trống nếu không tìm thấy quy trình hoặc các tệp đang mở
không thể đọc được.
|
Gửi |
DeviceNotAvailableException |
|
giá trị nhận dạng của
public static Optional<Integer> pidOf (ITestDevice device,
String pgrepRegex)
Lấy một pid duy nhất khớp với một mẫu được truyền đến "pgrep". Gửi IllegalArgumentException
khi có nhiều hơn một PID khớp với mẫu.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pgrepRegex |
String : Chuỗi biểu thị biểu thức chính quy cho pgrep |
Giá trị trả về |
Optional<Integer> |
một Số nguyên không bắt buộc của pid; trống nếu pgrep không trả về Exit_FAILED
|
Gửi |
DeviceNotAvailableException |
|
IllegalArgumentException |
|
pidOf
public static Optional<Map<Integer, String>> pidsOf (ITestDevice device,
String pgrepRegex)
Lấy pid khớp với mẫu được truyền đến `pgrep`. Bởi vì /proc/pid/comm bị cắt bớt,
Hệ thống sẽ truyền `pgrep` cùng với `-f` để kiểm tra dòng lệnh đầy đủ.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pgrepRegex |
String : Chuỗi biểu thị biểu thức chính quy cho pgrep |
Giá trị trả về |
Optional<Map<Integer, String>> |
một Bản đồ không bắt buộc của pid cho dòng lệnh; trống nếu pgrep không trả về Exit_FAILED
|
Gửi |
DeviceNotAvailableException |
|
ChờPidĐã thoát
public static void waitPidExited (ITestDevice device,
int pid)
Đợi thoát khỏi một quá trình. Điều này không phải chờ cho thay đổi, mà chỉ cần
không tồn tại. Việc sử dụng lại pid giữa các cuộc thăm dò ý kiến có khả năng cao nhưng không bao giờ xảy ra.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pid |
int : mã của quy trình sẽ chờ cho đến khi thoát
|
ChờPidĐã thoát
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
Đợi thoát khỏi một quá trình. Điều này không phải chờ cho thay đổi, mà chỉ cần
không tồn tại. Việc sử dụng lại pid giữa các cuộc thăm dò ý kiến có khả năng cao nhưng không bao giờ xảy ra.
Tham số |
device |
ITestDevice : thiết bị sẽ sử dụng |
pid |
int : mã của quy trình sẽ chờ cho đến khi thoát |
timeoutMs |
long : thời gian phải chờ trước khi gửi một Tham gia nữa Exception
|
Chờ xử lý đang chạy
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 biểu thị biểu thức chính quy cho pgrep |
timeoutMs |
long : thời gian chờ trước khi gửi một ExpirationException |
Giá trị trả về |
Map<Integer, String> |
pid để lệnh ánh xạ từ pidsOf(...)
|
Gửi |
TimeoutException |
|
DeviceNotAvailableException |
|
Chờ xử lý đang chạy
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 biểu thị biểu thức chính quy cho pgrep |
Giá trị trả về |
Map<Integer, String> |
pid để lệnh ánh xạ từ pidsOf(...)
|
Gửi |
TimeoutException |
|
DeviceNotAvailableException |
|
Xử lý
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill,
long timeoutMs)
Loại bỏ một quy trình ở đầu và cuối chương 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 loại bỏ để đặt cho pgrep |
beforeCloseKill |
Runnable : có thể chạy cho mọi hành động cần dọn dẹp trước khi tắt
trong môi trường bình thường vào cuối quá trình kiểm thử. Có thể có giá trị rỗng. |
timeoutMs |
long : khoảng thời gian tính bằng mili giây để chờ quá trình tắt |
Giá trị trả về |
AutoCloseable |
Một đối tượng sẽ tắt quy trình một lần nữa khi nó đóng
|
Xử lý
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
Loại bỏ một quy trình ở đầu và cuối chương 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 loại bỏ để đặt cho pgrep |
beforeCloseKill |
Runnable : có thể chạy cho mọi hành động cần dọn dẹp trước khi tắt
trong môi trường bình thường vào cuối quá trình kiểm thử. Có thể có giá trị rỗng. |
Giá trị trả về |
AutoCloseable |
Một đối tượng sẽ tắt quy trình một lần nữa khi nó đóng
|