Utile per il processo

public final class ProcessUtil
extends Object

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


Vari aiutanti per trovare, attendere e terminare i processi sul dispositivo

Riepilogo

Classi nidificate

class ProcessUtil.KillException

 

Costanti

long PROCESS_POLL_PERIOD_MS

long PROCESS_WAIT_TIMEOUT_MS

Metodi pubblici

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

Restituisce la voce del primo file caricato dal processo specificato con il nome specificato

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

Restituisce i nomi del file specificato, caricati dal processo specificato.

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

Recupera i contenuti da /proc/pid/cmdline.

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

Invia SIGKILL a tutti i processi corrispondenti a un pattern.

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

Invia SIGKILL a tutti i processi corrispondenti a un pattern.

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

Invia SIGKILL a un processo e attendi che venga chiuso.

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

Invia un segnale a un processo e attendi che venga chiuso.

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

Restituisce i nomi di file attualmente aperti del processo specificato.

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

Ottieni un singolo pid corrispondente a un pattern passato a "pgrep".

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

Ottieni i pid corrispondenti a un pattern passato a "pgrep".

static void waitPidExited(ITestDevice device, int pid)

Attendi l'uscita da un processo.

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

Attendi l'uscita da un processo.

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

Attendi finché non viene trovato un processo in esecuzione per una determinata espressione regolare.

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

Attendi finché non viene trovato un processo in esecuzione per una determinata espressione regolare.

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

Termina un processo all'inizio e alla fine di un test.

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

Termina un processo all'inizio e alla fine di un test.

Costanti

PERIODO_DI_ELABORAZIONE_ELABORAZIONE

public static final long PROCESS_POLL_PERIOD_MS

Valore costante: 250 (0x00000000000000fa)

PROCESS_WAIT_TIMEOUT_MS

public static final long PROCESS_WAIT_TIMEOUT_MS

Valore costante: 10.000 (0x0000000000002710)

Metodi pubblici

trovafilecaricato per processo

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

Restituisce la voce del primo file caricato dal processo specificato con il nome specificato

Parametri
device ITestDevice: dispositivo da eseguire

process String: pattern pgrep del processo da cercare

filenameSubstr String: parte del nome/percorso del file caricata dal processo

Ritorni
Optional<IFileEntry> un'istanza di IFileEntry del percorso del file sul dispositivo, se esistente.

Lanci
DeviceNotAvailableException

TrovaFileScaricati Per Processo

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

Restituisce i nomi del file specificato, caricati dal processo specificato.

Parametri
device ITestDevice: dispositivo da eseguire

pid int: ID della procedura di ricerca

filePattern Pattern: un pattern dei nomi dei file da restituire

Ritorni
Optional<List<String>> un Facoltativo dei file filtrati; vuoto se il processo non è stato trovato o lo stato .

Lanci
DeviceNotAvailableException

getProcessName

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

Recupera i contenuti da /proc/pid/cmdline.

Parametri
device ITestDevice: il dispositivo da usare

pid int: l'ID della procedura per ottenere il nome

Ritorni
Optional<String> una stringa facoltativa dei contenuti di /proc/pid/cmdline; vuoto se il pid non può essere trovato

Lanci
DeviceNotAvailableException

uccidi tutti

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

Invia SIGKILL a tutti i processi corrispondenti a un pattern.

Parametri
device ITestDevice: il dispositivo da usare

pgrepRegex String: una stringa che rappresenta l'espressione regolare per pgrep

timeoutMs long: tempo di attesa prima di generare una TimeoutEccezioni

expectExist boolean: indica se generare un'eccezione quando nessun processo è stato interrotto

Ritorni
boolean l'eventuale interruzione dei processi

Lanci
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

uccidi tutti

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

Invia SIGKILL a tutti i processi corrispondenti a un pattern.

Parametri
device ITestDevice: il dispositivo da usare

pgrepRegex String: una stringa che rappresenta l'espressione regolare per pgrep

timeoutMs long: tempo di attesa prima di generare una TimeoutEccezioni

Ritorni
boolean l'eventuale interruzione dei processi

Lanci
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Invia SIGKILL a un processo e attendi che venga chiuso.

Parametri
device ITestDevice: il dispositivo da usare

pid int: l'ID della procedura da attendere fino all'uscita

timeoutMs long: tempo di attesa prima di generare una TimeoutEccezioni

Lanci
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Invia un segnale a un processo e attendi che venga chiuso.

Parametri
device ITestDevice: il dispositivo da usare

pid int: l'ID della procedura da attendere fino all'uscita

signal int: l'indicatore da inviare al processo

timeoutMs long: tempo di attesa prima di generare una TimeoutEccezioni

Lanci
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

elencoOpenFiles

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

Restituisce i nomi di file attualmente aperti del processo specificato.

Parametri
device ITestDevice: dispositivo da eseguire

pid int: ID della procedura di ricerca

Ritorni
Optional<List<String>> un Facoltativo dei file aperti; vuoto se il processo non è stato trovato o i file aperti impossibili da leggere.

Lanci
DeviceNotAvailableException

pidOf

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

Ottieni un singolo pid corrispondente a un pattern passato a "pgrep". Lancia un IllegalArgumentException quando ci sono più PID corrispondenti al pattern.

Parametri
device ITestDevice: il dispositivo da usare

pgrepRegex String: una stringa che rappresenta l'espressione regolare per pgrep

Ritorni
Optional<Integer> un numero intero facoltativo del pid; vuoto se pgrep non ha restituito EXIT_SUCCESS

Lanci
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

Ottieni i pid corrispondenti a un pattern passato a "pgrep". Poiché /proc/pid/comm è troncato, "pgrep" viene passato con "-f" per controllare l'intera riga di comando.

Parametri
device ITestDevice: il dispositivo da usare

pgrepRegex String: una stringa che rappresenta l'espressione regolare per pgrep

Ritorni
Optional<Map<Integer, String>> una mappa facoltativa di pid alla riga di comando; vuoto se pgrep non ha restituito EXIT_SUCCESS

Lanci
DeviceNotAvailableException

waitPidUscita

public static void waitPidExited (ITestDevice device, 
                int pid)

Attendi l'uscita da un processo. Questo non significa aspettare che cambi, ma semplicemente inesistente. È possibile, ma improbabile, che un PIED venga riutilizzato tra sondaggi

Parametri
device ITestDevice: il dispositivo da usare

pid int: l'ID della procedura da attendere fino all'uscita

Lanci
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitPidUscita

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

Attendi l'uscita da un processo. Questo non significa aspettare che cambi, ma semplicemente inesistente. È possibile, ma improbabile, che un PIED venga riutilizzato tra sondaggi

Parametri
device ITestDevice: il dispositivo da usare

pid int: l'ID della procedura da attendere fino all'uscita

timeoutMs long: tempo di attesa prima di generare una TimeoutEccezioni

Lanci
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitProcessRunning

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

Attendi finché non viene trovato un processo in esecuzione per una determinata espressione regolare.

Parametri
device ITestDevice: il dispositivo da usare

pgrepRegex String: una stringa che rappresenta l'espressione regolare per pgrep

timeoutMs long: tempo di attesa prima di generare una TimeoutEccezioni

Ritorni
Map<Integer, String> il pid al comando mappa da pidsOf(...)

Lanci
TimeoutException
DeviceNotAvailableException

waitProcessRunning

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

Attendi finché non viene trovato un processo in esecuzione per una determinata espressione regolare.

Parametri
device ITestDevice: il dispositivo da usare

pgrepRegex String: una stringa che rappresenta l'espressione regolare per pgrep

Ritorni
Map<Integer, String> il pid al comando mappa da pidsOf(...)

Lanci
TimeoutException
DeviceNotAvailableException

conProcessKill

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

Termina un processo all'inizio e alla fine di un test.

Parametri
device ITestDevice: il dispositivo da usare

pgrepRegex String: il pattern del nome del processo da dare a pgrep

beforeCloseKill Runnable: eseguibile per qualsiasi azione che deve essere ripulita prima di terminare in un ambiente normale al termine del test. Può essere null.

timeoutMs long: tempo di attesa in millisecondi di attesa dell'interruzione del processo

Ritorni
AutoCloseable un oggetto che termina di nuovo il processo alla chiusura

Lanci
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

conProcessKill

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

Termina un processo all'inizio e alla fine di un test.

Parametri
device ITestDevice: il dispositivo da usare

pgrepRegex String: il pattern del nome del processo da dare a pgrep

beforeCloseKill Runnable: eseguibile per qualsiasi azione che deve essere ripulita prima di terminare in un ambiente normale al termine del test. Può essere null.

Ritorni
AutoCloseable un oggetto che termina di nuovo il processo alla chiusura

Lanci
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException