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

Các lớp học lồng ghép

class ProcessUtil.KillException

 

Các hằng số

long PROCESS_POLL_PERIOD_MS

long PROCESS_WAIT_TIMEOUT_MS

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

Gửi
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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

Gửi
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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

Gửi
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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

Gửi
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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

Gửi
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

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

Gửi
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

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

Gửi
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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

Gửi
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException