Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

ProcessUtil

public final class ProcessUtil
extends Object

java.lang.Oggetto
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 file 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 dei file del file specificato, caricati dal processo specificato.

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

Ottieni i contenuti da /proc/pid/cmdline.

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

Invia SIGKILL a tutti i processi che corrispondono a un modello.

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

Invia SIGKILL a tutti i processi che corrispondono a un modello.

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 dei file attualmente aperti del processo specificato.

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

Ottieni un singolo pid corrispondente a un modello passato a `pgrep`.

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

Ottieni i pid corrispondenti a un modello passato a `pgrep`.

static void waitPidExited (ITestDevice device, int pid)

Attendere l'uscita da un processo.

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

Attendere l'uscita da un processo.

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

Attendi fino a quando non viene trovato un processo in esecuzione per una determinata regex.

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

Attendi fino a quando non viene trovato un processo in esecuzione per una determinata regex.

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

PROCESS_POLL_PERIOD_MS

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

Metodi pubblici

findFileLoadedByProcess

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

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

Parametri
device ITestDevice : dispositivo su cui eseguire

process String : modello pgrep del processo da cercare

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

ritorna
Optional<IFileEntry> un Optional di IFileEntry del percorso del file sul dispositivo se esiste.

Getta
DeviceNotAvailableException

findFilesLoadedByProcess

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

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

Parametri
device ITestDevice : dispositivo su cui eseguire

pid int : l'id del processo da cercare

filePattern Pattern : un modello dei nomi di file da restituire

ritorna
Optional<List<String>> un Optional dei file filtrati; vuoto se il processo non è stato trovato o non è stato possibile leggere i file aperti.

Getta
DeviceNotAvailableException

getProcessName

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

Ottieni i contenuti da /proc/pid/cmdline.

Parametri
device ITestDevice : il dispositivo da utilizzare

pid int : l'id del processo per cui ottenere il nome

ritorna
Optional<String> una stringa facoltativa del contenuto di /proc/pid/cmdline; vuoto se non è stato possibile trovare il pid

Getta
DeviceNotAvailableException

uccidi tutti

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

Invia SIGKILL a tutti i processi che corrispondono a un modello.

Parametri
device ITestDevice : il dispositivo da utilizzare

pgrepRegex String : una stringa che rappresenta la regex per pgrep

timeoutMs long : quanto tempo aspettare prima di lanciare un'eccezione TimeoutException

expectExist boolean : se deve essere lanciata un'eccezione quando nessun processo è stato ucciso

ritorna
boolean se qualche processo è stato interrotto

Getta
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

uccidi tutti

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

Invia SIGKILL a tutti i processi che corrispondono a un modello.

Parametri
device ITestDevice : il dispositivo da utilizzare

pgrepRegex String : una stringa che rappresenta la regex per pgrep

timeoutMs long : quanto tempo aspettare prima di lanciare un'eccezione TimeoutException

ritorna
boolean se qualche processo è stato interrotto

Getta
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 utilizzare

pid int : l'id del processo da attendere fino all'uscita

timeoutMs long : quanto tempo aspettare prima di lanciare un'eccezione TimeoutException

Getta
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 utilizzare

pid int : l'id del processo da attendere fino all'uscita

signal int : il segnale da inviare al processo

timeoutMs long : quanto tempo aspettare prima di lanciare un'eccezione TimeoutException

Getta
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

listOpenFiles

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

Restituisce i nomi dei file attualmente aperti del processo specificato.

Parametri
device ITestDevice : dispositivo su cui eseguire

pid int : l'id del processo da cercare

ritorna
Optional<List<String>> un Optional dei file aperti; vuoto se il processo non è stato trovato o non è stato possibile leggere i file aperti.

Getta
DeviceNotAvailableException

pidOf

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

Ottieni un singolo pid corrispondente a un modello passato a `pgrep`. Lancia una IllegalArgumentException quando ci sono più di un PID che corrispondono al modello.

Parametri
device ITestDevice : il dispositivo da utilizzare

pgrepRegex String : una stringa che rappresenta la regex per pgrep

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

Getta
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

Ottieni i pid corrispondenti a un modello 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 utilizzare

pgrepRegex String : una stringa che rappresenta la regex per pgrep

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

Getta
DeviceNotAvailableException

waitPidExited

public static void waitPidExited (ITestDevice device, 
                int pid)

Attendere l'uscita da un processo. Questo non è aspettare che cambi, ma semplicemente essere inesistente. È possibile, ma improbabile, che un pid venga riutilizzato tra un sondaggio e l'altro

Parametri
device ITestDevice : il dispositivo da utilizzare

pid int : l'id del processo da attendere fino all'uscita

Getta
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitPidExited

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

Attendere l'uscita da un processo. Questo non è aspettare che cambi, ma semplicemente essere inesistente. È possibile, ma improbabile, che un pid venga riutilizzato tra un sondaggio e l'altro

Parametri
device ITestDevice : il dispositivo da utilizzare

pid int : l'id del processo da attendere fino all'uscita

timeoutMs long : quanto tempo aspettare prima di lanciare un'eccezione TimeoutException

Getta
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitProcessRunning

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

Attendi fino a quando non viene trovato un processo in esecuzione per una determinata regex.

Parametri
device ITestDevice : il dispositivo da utilizzare

pgrepRegex String : una stringa che rappresenta la regex per pgrep

timeoutMs long : quanto tempo aspettare prima di lanciare un'eccezione TimeoutException

ritorna
Map<Integer, String> il pid per comandare map da pidsOf(...)

Getta
TimeoutException
DeviceNotAvailableException

waitProcessRunning

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

Attendi fino a quando non viene trovato un processo in esecuzione per una determinata regex.

Parametri
device ITestDevice : il dispositivo da utilizzare

pgrepRegex String : una stringa che rappresenta la regex per pgrep

ritorna
Map<Integer, String> il pid per comandare map da pidsOf(...)

Getta
TimeoutException
DeviceNotAvailableException

con ProcessKill

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 utilizzare

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

beforeCloseKill Runnable : eseguibile per tutte le azioni che devono essere ripulite prima di terminare il processo in un ambiente normale alla fine del test. Può essere nullo.

timeoutMs long : quanto tempo in millisecondi deve attendere l'interruzione del processo

ritorna
AutoCloseable Un oggetto che interromperà nuovamente il processo quando viene chiuso

Getta
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

con ProcessKill

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 utilizzare

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

beforeCloseKill Runnable : eseguibile per tutte le azioni che devono essere ripulite prima di terminare il processo in un ambiente normale alla fine del test. Può essere nullo.

ritorna
AutoCloseable Un oggetto che interromperà nuovamente il processo quando viene chiuso

Getta
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException