ProcessUtil

public final class ProcessUtil
extends Object

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


Berbagai bantuan untuk menemukan, menunggu, dan mematikan proses di perangkat

Ringkasan

Kelas bersarang

class ProcessUtil.KillException

Konstanta

long PROCESS_POLL_PERIOD_MS

long PROCESS_WAIT_TIMEOUT_MS

Metode publik

static Optional<IFileEntry> findFileLoadedByProcess (ITestDevice device, String process, String filenameSubstr)

Mengembalikan entri file dari file pertama yang dimuat oleh proses yang ditentukan dengan nama yang ditentukan

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

Mengembalikan nama file dari file yang ditentukan, dimuat oleh proses yang ditentukan.

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

Dapatkan isinya dari /proc/pid/cmdline.

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

Kirim SIGKILL ke semua proses yang cocok dengan pola.

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

Kirim SIGKILL ke semua proses yang cocok dengan pola.

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

Kirim SIGKILL ke proses dan tunggu sampai keluar.

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

Kirim sinyal ke suatu proses dan tunggu sampai keluar.

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

Mengembalikan nama file yang sedang dibuka dari proses yang ditentukan.

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

Dapatkan satu pid yang cocok dengan pola yang diteruskan ke `pgrep`.

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

Dapatkan pid yang cocok dengan pola yang diteruskan ke `pgrep`.

static void waitPidExited (ITestDevice device, int pid)

Tunggu proses untuk keluar.

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

Tunggu proses untuk keluar.

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

Tunggu hingga proses yang berjalan ditemukan untuk regex yang diberikan.

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

Tunggu hingga proses yang berjalan ditemukan untuk regex yang diberikan.

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

Bunuh proses di awal dan akhir tes.

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

Bunuh proses di awal dan akhir tes.

Konstanta

PROCESS_POLL_PERIOD_MS

public static final long PROCESS_POLL_PERIOD_MS

Nilai Konstan: 250 (0x00000000000000fa)

PROCESS_WAIT_TIMEOUT_MS

public static final long PROCESS_WAIT_TIMEOUT_MS

Nilai Konstan: 10000 (0x0000000000002710)

Metode publik

findFileLoadedByProcess

public static Optional<IFileEntry> findFileLoadedByProcess (ITestDevice device, 
                String process, 
                String filenameSubstr)

Mengembalikan entri file dari file pertama yang dimuat oleh proses yang ditentukan dengan nama yang ditentukan

Parameter
device ITestDevice : perangkat yang akan dijalankan

process String : pgrep pola proses yang dicari

filenameSubstr String : bagian dari nama file/jalur yang dimuat oleh proses

Pengembalian
Optional<IFileEntry> Opsional IFileEntry dari jalur file pada perangkat jika ada.

Melempar
DeviceNotAvailableException

findFilesLoadedByProcess

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

Mengembalikan nama file dari file yang ditentukan, dimuat oleh proses yang ditentukan.

Parameter
device ITestDevice : perangkat yang akan dijalankan

pid int : id dari proses pencarian

filePattern Pattern : pola nama file yang akan dikembalikan

Pengembalian
Optional<List<String>> sebuah Opsional dari file yang difilter; kosongkan jika proses tidak ditemukan atau file yang dibuka tidak dapat dibaca.

Melempar
DeviceNotAvailableException

getProcessName

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

Dapatkan isinya dari /proc/pid/cmdline.

Parameter
device ITestDevice : perangkat yang akan digunakan

pid int : id dari proses untuk mendapatkan nama

Pengembalian
Optional<String> String Opsional dari isi /proc/pid/cmdline; kosongkan jika pid tidak dapat ditemukan

Melempar
DeviceNotAvailableException

Bunuh semua

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

Kirim SIGKILL ke semua proses yang cocok dengan pola.

Parameter
device ITestDevice : perangkat yang akan digunakan

pgrepRegex String : sebuah String yang mewakili regex untuk pgrep

timeoutMs long : berapa lama menunggu sebelum melempar TimeoutException

expectExist boolean : apakah pengecualian harus dilemparkan ketika tidak ada proses yang dimatikan

Pengembalian
boolean apakah ada proses yang terbunuh

Melempar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

Bunuh semua

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

Kirim SIGKILL ke semua proses yang cocok dengan pola.

Parameter
device ITestDevice : perangkat yang akan digunakan

pgrepRegex String : sebuah String yang mewakili regex untuk pgrep

timeoutMs long : berapa lama menunggu sebelum melempar TimeoutException

Pengembalian
boolean apakah ada proses yang terbunuh

Melempar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Kirim SIGKILL ke proses dan tunggu sampai keluar.

Parameter
device ITestDevice : perangkat yang akan digunakan

pid int : id dari proses untuk menunggu sampai keluar

timeoutMs long : berapa lama menunggu sebelum melempar TimeoutException

Melempar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Kirim sinyal ke suatu proses dan tunggu sampai keluar.

Parameter
device ITestDevice : perangkat yang akan digunakan

pid int : id dari proses untuk menunggu sampai keluar

signal int : sinyal untuk dikirim ke proses

timeoutMs long : berapa lama menunggu sebelum melempar TimeoutException

Melempar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

listOpenFiles

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

Mengembalikan nama file yang sedang dibuka dari proses yang ditentukan.

Parameter
device ITestDevice : perangkat yang akan dijalankan

pid int : id dari proses pencarian

Pengembalian
Optional<List<String>> sebuah Opsional dari file yang terbuka; kosongkan jika proses tidak ditemukan atau file yang dibuka tidak dapat dibaca.

Melempar
DeviceNotAvailableException

pidOf

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

Dapatkan satu pid yang cocok dengan pola yang diteruskan ke `pgrep`. Lemparkan IllegalArgumentException jika ada lebih dari satu PID yang cocok dengan polanya.

Parameter
device ITestDevice : perangkat yang akan digunakan

pgrepRegex String : sebuah String yang mewakili regex untuk pgrep

Pengembalian
Optional<Integer> Bilangan Bulat Opsional dari pid; kosongkan jika pgrep tidak mengembalikan EXIT_SUCCESS

Melempar
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

Dapatkan pid yang cocok dengan pola yang diteruskan ke `pgrep`. Karena /proc/pid/comm terpotong, `pgrep` diteruskan dengan `-f` untuk memeriksa baris perintah lengkap.

Parameter
device ITestDevice : perangkat yang akan digunakan

pgrepRegex String : sebuah String yang mewakili regex untuk pgrep

Pengembalian
Optional<Map<Integer, String>> Peta Opsional pid ke baris perintah; kosongkan jika pgrep tidak mengembalikan EXIT_SUCCESS

Melempar
DeviceNotAvailableException

tungguPidExited

public static void waitPidExited (ITestDevice device, 
                int pid)

Tunggu proses untuk keluar. Ini tidak menunggu untuk berubah, tetapi tidak ada. Itu mungkin, tetapi tidak mungkin, untuk pid digunakan kembali di antara jajak pendapat

Parameter
device ITestDevice : perangkat yang akan digunakan

pid int : id dari proses untuk menunggu sampai keluar

Melempar
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

tungguPidExited

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

Tunggu proses untuk keluar. Ini tidak menunggu untuk berubah, tetapi tidak ada. Itu mungkin, tetapi tidak mungkin, untuk pid digunakan kembali di antara jajak pendapat

Parameter
device ITestDevice : perangkat yang akan digunakan

pid int : id dari proses untuk menunggu sampai keluar

timeoutMs long : berapa lama menunggu sebelum melempar TimeoutException

Melempar
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitProcessRunning

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

Tunggu hingga proses yang berjalan ditemukan untuk regex yang diberikan.

Parameter
device ITestDevice : perangkat yang akan digunakan

pgrepRegex String : sebuah String yang mewakili regex untuk pgrep

timeoutMs long : berapa lama menunggu sebelum melempar TimeoutException

Pengembalian
Map<Integer, String> pid untuk memerintahkan peta dari pidsOf(...)

Melempar
TimeoutException
DeviceNotAvailableException

waitProcessRunning

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

Tunggu hingga proses yang berjalan ditemukan untuk regex yang diberikan.

Parameter
device ITestDevice : perangkat yang akan digunakan

pgrepRegex String : sebuah String yang mewakili regex untuk pgrep

Pengembalian
Map<Integer, String> pid untuk memerintahkan peta dari pidsOf(...)

Melempar
TimeoutException
DeviceNotAvailableException

dengan ProcessKill

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

Bunuh proses di awal dan akhir tes.

Parameter
device ITestDevice : perangkat yang akan digunakan

pgrepRegex String : pola nama proses yang akan dibunuh untuk diberikan ke pgrep

beforeCloseKill Runnable : runnable untuk tindakan apa pun yang perlu dibersihkan sebelum menghentikan proses di lingkungan normal di akhir pengujian. Bisa nol.

timeoutMs long : berapa lama dalam milidetik untuk menunggu proses mati

Pengembalian
AutoCloseable Objek yang akan mematikan proses lagi saat ditutup

Melempar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

dengan ProcessKill

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

Bunuh proses di awal dan akhir tes.

Parameter
device ITestDevice : perangkat yang akan digunakan

pgrepRegex String : pola nama proses yang akan dibunuh untuk diberikan ke pgrep

beforeCloseKill Runnable : runnable untuk tindakan apa pun yang perlu dibersihkan sebelum menghentikan proses di lingkungan normal di akhir pengujian. Bisa nol.

Pengembalian
AutoCloseable Objek yang akan mematikan proses lagi saat ditutup

Melempar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException