{i>ProcessUtil<i}

public final class ProcessUtil
extends Object

java.lang.Object
   ↳ {i>com.android.sts.common.ProcessUtil<i}


Berbagai helper untuk menemukan, menunggu, dan menghentikan proses di perangkat

Ringkasan

Class bertingkat

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)

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

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

Menampilkan nama file dari file tertentu, yang dimuat oleh proses tertentu.

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

Dapatkan konten dari {i> /proc/pid/cmdline<i}.

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

Mengirim SIGKILL ke semua proses yang cocok dengan suatu pola.

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

Mengirim SIGKILL ke semua proses yang cocok dengan suatu pola.

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

Mengirim SIGKILL ke proses dan menunggu hingga SIGKILL dikeluarkan.

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

Mengirim sinyal ke proses dan menunggu hingga sinyal keluar.

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

Menampilkan nama file yang saat ini terbuka 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 hingga proses diselesaikan.

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

Tunggu hingga proses diselesaikan.

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

Tunggu hingga proses yang berjalan untuk ekspresi reguler tertentu ditemukan.

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

Tunggu hingga proses yang berjalan untuk ekspresi reguler tertentu ditemukan.

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

Menghentikan proses di awal dan akhir pengujian.

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

Menghentikan proses di awal dan akhir pengujian.

Konstanta

PROSES_POLL_PERIOD_MS

public static final long PROCESS_POLL_PERIOD_MS

Nilai Konstanta: 250 (0x00000000000000fa)

PROSES_WAIT_TIMEOUT_MS

public static final long PROCESS_WAIT_TIMEOUT_MS

Nilai Konstanta: 10.000 (0x0000000000002710)

Metode publik

{i>findFileLoadedByProcess<i}

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

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

Parameter
device ITestDevice: perangkat yang akan dijalankan

process String: pola pgrep proses yang harus dicari

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

Hasil
Optional<IFileEntry> Opotional of IFileEntry dari jalur file pada perangkat jika ada.

Menampilkan
DeviceNotAvailableException

{i>findFilesLoadedByProcess<i}

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

Menampilkan nama file dari file tertentu, yang dimuat oleh proses tertentu.

Parameter
device ITestDevice: perangkat yang akan dijalankan

pid int: ID proses yang akan ditelusuri

filePattern Pattern: pola nama file yang akan ditampilkan

Hasil
Optional<List<String>> Opsional file yang difilter; kosong jika proses tidak ditemukan, file tidak dapat dibaca.

Menampilkan
DeviceNotAvailableException

{i>getProcessName<i}

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

Dapatkan konten dari {i> /proc/pid/cmdline<i}.

Parameter
device ITestDevice: perangkat yang akan digunakan

pid int: ID proses untuk mendapatkan nama untuk

Hasil
Optional<String> sebuah String Opsional dari isi {i> /proc/pid/cmdline<i}; kosong jika pid tidak dapat ditemukan

Menampilkan
DeviceNotAvailableException

{i>killAll<i}

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

Mengirim SIGKILL ke semua proses yang cocok dengan suatu pola.

Parameter
device ITestDevice: perangkat yang akan digunakan

pgrepRegex String: String yang mewakili ekspresi reguler untuk pgrep

timeoutMs long: lamanya waktu tunggu sebelum menampilkan TimeoutException

expectExist boolean: apakah pengecualian harus ditampilkan saat tidak ada proses yang dihentikan

Hasil
boolean apakah ada proses yang dimatikan

Menampilkan
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

{i>killAll<i}

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

Mengirim SIGKILL ke semua proses yang cocok dengan suatu pola.

Parameter
device ITestDevice: perangkat yang akan digunakan

pgrepRegex String: String yang mewakili ekspresi reguler untuk pgrep

timeoutMs long: lamanya waktu tunggu sebelum menampilkan TimeoutException

Hasil
boolean apakah ada proses yang dimatikan

Menampilkan
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

{i>killPid<i}

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

Mengirim SIGKILL ke proses dan menunggu hingga SIGKILL dikeluarkan.

Parameter
device ITestDevice: perangkat yang akan digunakan

pid int: ID proses untuk menunggu hingga ditutup

timeoutMs long: lamanya waktu tunggu sebelum menampilkan TimeoutException

Menampilkan
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

{i>killPid<i}

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

Mengirim sinyal ke proses dan menunggu hingga sinyal keluar.

Parameter
device ITestDevice: perangkat yang akan digunakan

pid int: ID proses untuk menunggu hingga ditutup

signal int: sinyal yang akan dikirim ke proses

timeoutMs long: lamanya waktu tunggu sebelum menampilkan TimeoutException

Menampilkan
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

daftarBukaFile

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

Menampilkan nama file yang saat ini terbuka dari proses yang ditentukan.

Parameter
device ITestDevice: perangkat yang akan dijalankan

pid int: ID proses yang akan ditelusuri

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

Menampilkan
DeviceNotAvailableException

{i>pidOf<i}

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

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

Parameter
device ITestDevice: perangkat yang akan digunakan

pgrepRegex String: String yang mewakili ekspresi reguler untuk pgrep

Hasil
Optional<Integer> Bilangan Bulat Opsional pid; kosong jika pgrep tidak menampilkan KELUAR_SUKSES

Menampilkan
DeviceNotAvailableException
IllegalArgumentException

{i>pidsOf<i}

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

Dapatkan pid yang cocok dengan pola yang diteruskan ke `pgrep`. Karena {i> /proc/pid/comm<i} terpotong, `pgrep` diteruskan dengan `-f` untuk memeriksa command line secara lengkap.

Parameter
device ITestDevice: perangkat yang akan digunakan

pgrepRegex String: String yang mewakili ekspresi reguler untuk pgrep

Hasil
Optional<Map<Integer, String>> Peta Opsional pid ke command line; kosong jika pgrep tidak menampilkan KELUAR_SUKSES

Menampilkan
DeviceNotAvailableException

waitPidExited

public static void waitPidExited (ITestDevice device, 
                int pid)

Tunggu hingga proses diselesaikan. Hal ini tidak menunggunya untuk berubah, tetapi cukup menjadi tidak ada. Dimungkinkan, tetapi kecil kemungkinannya, pid dapat digunakan kembali di antara polling

Parameter
device ITestDevice: perangkat yang akan digunakan

pid int: ID proses untuk menunggu hingga ditutup

Menampilkan
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitPidExited

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

Tunggu hingga proses diselesaikan. Hal ini tidak menunggunya untuk berubah, tetapi cukup menjadi tidak ada. Dimungkinkan, tetapi kecil kemungkinannya, pid dapat digunakan kembali di antara polling

Parameter
device ITestDevice: perangkat yang akan digunakan

pid int: ID proses untuk menunggu hingga ditutup

timeoutMs long: lamanya waktu tunggu sebelum menampilkan TimeoutException

Menampilkan
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

tungguProcessRunning

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

Tunggu hingga proses yang berjalan untuk ekspresi reguler tertentu ditemukan.

Parameter
device ITestDevice: perangkat yang akan digunakan

pgrepRegex String: String yang mewakili ekspresi reguler untuk pgrep

timeoutMs long: lamanya waktu tunggu sebelum menampilkan TimeoutException

Hasil
Map<Integer, String> pid ke perintah peta dari pidsOf(...)

Menampilkan
TimeoutException
DeviceNotAvailableException

tungguProcessRunning

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

Tunggu hingga proses yang berjalan untuk ekspresi reguler tertentu ditemukan.

Parameter
device ITestDevice: perangkat yang akan digunakan

pgrepRegex String: String yang mewakili ekspresi reguler untuk pgrep

Hasil
Map<Integer, String> pid ke perintah peta dari pidsOf(...)

Menampilkan
TimeoutException
DeviceNotAvailableException

denganProcessKill

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

Menghentikan proses di awal dan akhir pengujian.

Parameter
device ITestDevice: perangkat yang akan digunakan

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

beforeCloseKill Runnable: dapat dijalankan untuk tindakan apa pun yang perlu dibersihkan sebelum mematikan proses dalam lingkungan normal di akhir pengujian. Bisa null.

timeoutMs long: berapa lama dalam milidetik hingga proses dihentikan

Hasil
AutoCloseable Objek yang akan mematikan proses lagi ketika ditutup

Menampilkan
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

denganProcessKill

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

Menghentikan proses di awal dan akhir pengujian.

Parameter
device ITestDevice: perangkat yang akan digunakan

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

beforeCloseKill Runnable: dapat dijalankan untuk tindakan apa pun yang perlu dibersihkan sebelum mematikan proses dalam lingkungan normal di akhir pengujian. Bisa null.

Hasil
AutoCloseable Objek yang akan mematikan proses lagi ketika ditutup

Menampilkan
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException