Quá trìnhUtil

public final class ProcessUtil
extends Object

java.lang.Object
com.android.sts.common.ProcessUtil


Nhiều người trợ giúp khác nhau để tìm, chờ và hủy các tiến trình trên thiết bị

Bản tóm tắt

các lớp lồng nhau

class ProcessUtil.KillException

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ởi quy trình đã chỉ định với 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 đã chỉ định, được tải bởi quy trình đã 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 tới 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 tới 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 tới một quy trình và đợi nó thoát ra.

static void killPid (ITestDevice device, int pid, int signal, long timeoutMs)

Gửi tín hiệu đến một tiến trình và đợi nó thoát ra.

static Optional<List<String>> listOpenFiles (ITestDevice device, int pid)

Trả về tên tệp hiện đang mở của quy trình đã chỉ định.

static Optional<Integer> pidOf (ITestDevice device, String pgrepRegex)

Nhận một pid duy nhất khớp với một mẫu được chuyển đến `pgrep`.

static Optional<Map<Integer, String>> pidsOf (ITestDevice device, String pgrepRegex)

Nhận các pids khớp với một mẫu được chuyển đến `pgrep`.

static void waitPidExited (ITestDevice device, int pid)

Chờ cho một quá trình được thoát ra.

static void waitPidExited (ITestDevice device, int pid, long timeoutMs)

Chờ cho một quá trình được thoát ra.

static Map<Integer, String> waitProcessRunning (ITestDevice device, String pgrepRegex, long timeoutMs)

Đợi 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)

Đợi 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)

Giết một quá trình ở đầu và cuối của một bài kiểm tra.

static AutoCloseable withProcessKill (ITestDevice device, String pgrepRegex, Runnable beforeCloseKill)

Giết một quá trình ở đầu và cuối của một bài kiểm tra.

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ởi quy trình đã chỉ định với tên được chỉ định

Thông số
device ITestDevice : thiết bị được chạy trên

process String : mẫu quy trình pgrep cần tìm

filenameSubstr String : một phần của tên tệp/đường dẫn được tải bởi quy trình

trả lại
Optional<IFileEntry> một tùy chọn IFileEntry của đường dẫn tệp trên thiết bị nếu tồn tại.

ném
DeviceNotAvailableException

findFilesLoadedByProcess

public static Optional<List<String>> findFilesLoadedByProcess (ITestDevice device, 
                int pid, 
                Pattern filePattern)

Trả về tên tệp của tệp đã chỉ định, được tải bởi quy trình đã chỉ định.

Thông số
device ITestDevice : thiết bị được chạy trên

pid int : id của quá trình tìm kiếm

filePattern Pattern : một mẫu tên tệp để trả về

trả lại
Optional<List<String>> một Tùy chọn của các tệp được 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ở.

ném
DeviceNotAvailableException

getProcessName

public static Optional<String> getProcessName (ITestDevice device, 
                int pid)

Lấy nội dung từ /proc/pid/cmdline.

Thông số
device ITestDevice : thiết bị sử dụng

pid int : id của tiến trình lấy tên cho

trả lại
Optional<String> một Chuỗi tùy chọn chứa nội dung của /proc/pid/cmdline; để trống nếu không tìm thấy pid

ném
DeviceNotAvailableException

giết tất cả

public static boolean killAll (ITestDevice device, 
                String pgrepRegex, 
                long timeoutMs, 
                boolean expectExist)

Gửi SIGKILL tới tất cả các quy trình khớp với một mẫu.

Thông số
device ITestDevice : thiết bị sử dụng

pgrepRegex String : một Chuỗi đại diện cho biểu thức chính quy cho pgrep

timeoutMs long : phải đợi bao lâu trước khi ném TimeoutException

expectExist boolean : có nên ném ngoại lệ khi không có tiến trình nào bị giết hay không

trả lại
boolean liệu có tiến trình nào bị giết không

ném
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

giết tất cả

public static boolean killAll (ITestDevice device, 
                String pgrepRegex, 
                long timeoutMs)

Gửi SIGKILL tới tất cả các quy trình khớp với một mẫu.

Thông số
device ITestDevice : thiết bị sử dụng

pgrepRegex String : một Chuỗi đại diện cho biểu thức chính quy cho pgrep

timeoutMs long : phải đợi bao lâu trước khi ném TimeoutException

trả lại
boolean liệu có tiến trình nào bị giết không

ném
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

giếtPid

public static void killPid (ITestDevice device, 
                int pid, 
                long timeoutMs)

Gửi SIGKILL tới một quy trình và đợi nó thoát ra.

Thông số
device ITestDevice : thiết bị sử dụng

pid int : id của tiến trình đợi cho đến khi thoát

timeoutMs long : phải đợi bao lâu trước khi ném TimeoutException

ném
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

giếtPid

public static void killPid (ITestDevice device, 
                int pid, 
                int signal, 
                long timeoutMs)

Gửi tín hiệu đến một tiến trình và đợi nó thoát ra.

Thông số
device ITestDevice : thiết bị sử dụng

pid int : id của tiến trình đợi cho đến khi thoát

signal int : tín hiệu để gửi đến quá trình

timeoutMs long : phải đợi bao lâu trước khi ném TimeoutException

ném
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

danh sáchMở tập tin

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 đã chỉ định.

Thông số
device ITestDevice : thiết bị được chạy trên

pid int : id của quá trình tìm kiếm

trả lại
Optional<List<String>> một Tùy chọn của 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ở.

ném
DeviceNotAvailableException

pidOf

public static Optional<Integer> pidOf (ITestDevice device, 
                String pgrepRegex)

Nhận một pid duy nhất khớp với một mẫu được chuyển đến `pgrep`. Ném một IllegalArgumentException khi có nhiều hơn một PID khớp với mẫu.

Thông số
device ITestDevice : thiết bị sử dụng

pgrepRegex String : một Chuỗi đại diện cho biểu thức chính quy cho pgrep

trả lại
Optional<Integer> một Số nguyên tùy chọn của pid; trống nếu pgrep không trả về EXIT_SUCCESS

ném
DeviceNotAvailableException
IllegalArgumentException

pidsOf

public static Optional<Map<Integer, String>> pidsOf (ITestDevice device, 
                String pgrepRegex)

Nhận các pids khớp với một mẫu được chuyển đến `pgrep`. Bởi vì /proc/pid/comm bị cắt bớt, `pgrep` được chuyển với `-f` để kiểm tra dòng lệnh đầy đủ.

Thông số
device ITestDevice : thiết bị sử dụng

pgrepRegex String : một Chuỗi đại diện cho biểu thức chính quy cho pgrep

trả lại
Optional<Map<Integer, String>> một Bản đồ tùy chọn của pid cho dòng lệnh; trống nếu pgrep không trả về EXIT_SUCCESS

ném
DeviceNotAvailableException

waitPidExited

public static void waitPidExited (ITestDevice device, 
                int pid)

Chờ cho một quá trình được thoát ra. Đây không phải là chờ đợi nó thay đổi, mà đơn giản là không tồn tại. Có thể, nhưng không chắc, để một pid được sử dụng lại giữa các cuộc thăm dò

Thông số
device ITestDevice : thiết bị sử dụng

pid int : id của tiến trình đợi cho đến khi thoát

ném
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitPidExited

public static void waitPidExited (ITestDevice device, 
                int pid, 
                long timeoutMs)

Chờ cho một quá trình được thoát ra. Đây không phải là chờ đợi nó thay đổi, mà đơn giản là không tồn tại. Có thể, nhưng không chắc, để một pid được sử dụng lại giữa các cuộc thăm dò

Thông số
device ITestDevice : thiết bị sử dụng

pid int : id của tiến trình đợi cho đến khi thoát

timeoutMs long : phải đợi bao lâu trước khi ném TimeoutException

ném
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

chờQuá trìnhChạy

public static Map<Integer, String> waitProcessRunning (ITestDevice device, 
                String pgrepRegex, 
                long timeoutMs)

Đợi 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.

Thông số
device ITestDevice : thiết bị sử dụng

pgrepRegex String : một Chuỗi đại diện cho biểu thức chính quy cho pgrep

timeoutMs long : phải đợi bao lâu trước khi ném TimeoutException

trả lại
Map<Integer, String> bản đồ lệnh pid từ pidsOf(...)

ném
TimeoutException
DeviceNotAvailableException

chờQuá trìnhChạy

public static Map<Integer, String> waitProcessRunning (ITestDevice device, 
                String pgrepRegex)

Đợi 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.

Thông số
device ITestDevice : thiết bị sử dụng

pgrepRegex String : một Chuỗi đại diện cho biểu thức chính quy cho pgrep

trả lại
Map<Integer, String> bản đồ lệnh pid từ pidsOf(...)

ném
TimeoutException
DeviceNotAvailableException

withProcessKill

public static AutoCloseable withProcessKill (ITestDevice device, 
                String pgrepRegex, 
                Runnable beforeCloseKill, 
                long timeoutMs)

Giết một quá trình ở đầu và cuối của một bài kiểm tra.

Thông số
device ITestDevice : thiết bị sử dụng

pgrepRegex String : mẫu tên của quy trình cần hủy để cung cấp cho pgrep

beforeCloseKill Runnable : có thể chạy được cho bất kỳ hành động nào cần dọn dẹp trước khi tắt tiến trình trong môi trường bình thường khi kết thúc thử nghiệm. Có thể là vô giá trị.

timeoutMs long : mất bao lâu tính bằng mili giây để chờ quá trình kết thúc

trả lại
AutoCloseable Một đối tượng sẽ giết tiến trình một lần nữa khi nó bị đóng

ném
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

withProcessKill

public static AutoCloseable withProcessKill (ITestDevice device, 
                String pgrepRegex, 
                Runnable beforeCloseKill)

Giết một quá trình ở đầu và cuối của một bài kiểm tra.

Thông số
device ITestDevice : thiết bị sử dụng

pgrepRegex String : mẫu tên của quy trình cần hủy để cung cấp cho pgrep

beforeCloseKill Runnable : có thể chạy được cho bất kỳ hành động nào cần dọn dẹp trước khi tắt tiến trình trong môi trường bình thường khi kết thúc thử nghiệm. Có thể là vô giá trị.

trả lại
AutoCloseable Một đối tượng sẽ giết tiến trình một lần nữa khi nó bị đóng

ném
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException