ProsesUtil

public final class ProcessUtil
extends Object

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


Berbagai pembantu 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 tertentu dengan nama tertentu

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

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

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

Dapatkan konten dari /proc/pid/cmdline.

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

Kirim SIGKILL ke semua proses yang cocok dengan suatu pola.

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

Kirim SIGKILL ke semua proses yang cocok dengan suatu pola.

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

Kirim SIGKILL ke suatu proses dan tunggu sampai proses tersebut keluar.

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

Kirim sinyal ke suatu proses dan tunggu hingga proses tersebut keluar.

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

Mengembalikan nama file yang sedang dibuka dari proses tertentu.

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 hingga proses keluar.

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

Tunggu hingga proses keluar.

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

Tunggu hingga proses yang berjalan ditemukan untuk regex tertentu.

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

Tunggu hingga proses yang berjalan ditemukan untuk regex tertentu.

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

Hentikan proses di awal dan akhir pengujian.

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

Hentikan proses di awal dan akhir pengujian.

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: 10.000 (0x0000000000002710)

Metode publik

temukanFileLoadedByProcess

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

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

Parameter
device ITestDevice : perangkat yang akan dijalankan

process String : pola proses pgrep yang harus dicari

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

Kembali
Optional<IFileEntry> sebuah Opotional dari IFileEntry dari jalur file pada perangkat jika ada.

Melempar
DeviceNotAvailableException

temukanFilesLoadedByProcess

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

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

Parameter
device ITestDevice : perangkat yang akan dijalankan

pid int : id proses yang akan dicari

filePattern Pattern : pola nama file yang akan dikembalikan

Kembali
Optional<List<String>> sebuah Opsional dari file yang difilter; kosong jika proses tidak ditemukan atau file yang terbuka tidak dapat dibaca.

Melempar
DeviceNotAvailableException

dapatkan NamaProses

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

Dapatkan konten dari /proc/pid/cmdline.

Parameter
device ITestDevice : perangkat yang akan digunakan

pid int : id dari proses yang akan diberi nama

Kembali
Optional<String> sebuah String Opsional dari isi /proc/pid/cmdline; kosong 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 suatu 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 dilempar ketika tidak ada proses yang dimatikan

Kembali
boolean apakah ada proses yang dimatikan

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 suatu 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

Kembali
boolean apakah ada proses yang dimatikan

Melempar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Kirim SIGKILL ke suatu proses dan tunggu sampai proses tersebut keluar.

Parameter
device ITestDevice : perangkat yang akan digunakan

pid int : id proses yang menunggu hingga 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 hingga proses tersebut keluar.

Parameter
device ITestDevice : perangkat yang akan digunakan

pid int : id proses yang menunggu hingga keluar

signal int : sinyal untuk dikirim ke proses

timeoutMs long : berapa lama menunggu sebelum melempar TimeoutException

Melempar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

daftarOpenFiles

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

Mengembalikan nama file yang sedang dibuka dari proses tertentu.

Parameter
device ITestDevice : perangkat yang akan dijalankan

pid int : id proses yang akan dicari

Kembali
Optional<List<String>> sebuah Opsional dari file yang terbuka; kosong jika proses tidak ditemukan atau file yang terbuka 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 ketika 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

Kembali
Optional<Integer> sebuah Integer Opsional dari pid; kosong 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

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

Melempar
DeviceNotAvailableException

tungguPidKeluar

public static void waitPidExited (ITestDevice device, 
                int pid)

Tunggu hingga proses keluar. Hal ini bukan berarti menunggu sampai perubahan terjadi, melainkan tidak ada sama sekali. Ada kemungkinan, namun tidak mungkin, sebuah pid digunakan kembali di antara jajak pendapat

Parameter
device ITestDevice : perangkat yang akan digunakan

pid int : id proses yang menunggu hingga keluar

Melempar
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

tungguPidKeluar

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

Tunggu hingga proses keluar. Hal ini bukan berarti menunggu sampai perubahan terjadi, melainkan tidak ada sama sekali. Ada kemungkinan, namun tidak mungkin, sebuah pid digunakan kembali di antara jajak pendapat

Parameter
device ITestDevice : perangkat yang akan digunakan

pid int : id proses yang menunggu hingga keluar

timeoutMs long : berapa lama menunggu sebelum melempar TimeoutException

Melempar
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

tungguProsesBerjalan

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

Tunggu hingga proses yang berjalan ditemukan untuk regex tertentu.

Parameter
device ITestDevice : perangkat yang akan digunakan

pgrepRegex String : sebuah String yang mewakili regex untuk pgrep

timeoutMs long : berapa lama menunggu sebelum melempar TimeoutException

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

Melempar
TimeoutException
DeviceNotAvailableException

tungguProsesBerjalan

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

Tunggu hingga proses yang berjalan ditemukan untuk regex tertentu.

Parameter
device ITestDevice : perangkat yang akan digunakan

pgrepRegex String : sebuah String yang mewakili regex untuk pgrep

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

Melempar
TimeoutException
DeviceNotAvailableException

denganProcessKill

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

Hentikan proses di awal dan akhir pengujian.

Parameter
device ITestDevice : perangkat yang akan digunakan

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

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

timeoutMs long : berapa lama dalam milidetik untuk menunggu proses dihentikan

Kembali
AutoCloseable Sebuah objek yang akan menghentikan proses lagi ketika ditutup

Melempar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

denganProcessKill

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

Hentikan proses di awal dan akhir pengujian.

Parameter
device ITestDevice : perangkat yang akan digunakan

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

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

Kembali
AutoCloseable Sebuah objek yang akan menghentikan proses lagi ketika ditutup

Melempar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException