ProcessUtil

public final class ProcessUtil
extends Object

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


Divers assistants pour rechercher, attendre et tuer des processus sur l'appareil

Sommaire

Classes imbriquées

class ProcessUtil.KillException

Constantes

long PROCESS_POLL_PERIOD_MS

long PROCESS_WAIT_TIMEOUT_MS

Méthodes publiques

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

Renvoie l'entrée de fichier du premier fichier chargé par le processus spécifié avec le nom spécifié

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

Renvoie les noms de fichier du fichier spécifié, chargé par le processus spécifié.

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

Obtenez le contenu de /proc/pid/cmdline.

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

Envoie SIGKILL à tous les processus correspondant à un modèle.

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

Envoie SIGKILL à tous les processus correspondant à un modèle.

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

Envoie SIGKILL à un processus et attend qu'il soit quitté.

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

Envoyer un signal à un processus et attendre qu'il soit quitté.

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

Renvoie les noms de fichiers actuellement ouverts du processus spécifié.

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

Récupère un seul pid correspondant à un motif passé à `pgrep`.

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

Récupère les pids correspondant à un motif passé à `pgrep`.

static void waitPidExited (ITestDevice device, int pid)

Attendre qu'un processus soit quitté.

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

Attendre qu'un processus soit quitté.

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

Attendez qu'un processus en cours d'exécution soit trouvé pour une expression régulière donnée.

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

Attendez qu'un processus en cours d'exécution soit trouvé pour une expression régulière donnée.

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

Tue un processus au début et à la fin d'un test.

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

Tue un processus au début et à la fin d'un test.

Constantes

PROCESS_POLL_PERIOD_MS

public static final long PROCESS_POLL_PERIOD_MS

Valeur constante : 250 (0x00000000000000fa)

PROCESS_WAIT_TIMEOUT_MS

public static final long PROCESS_WAIT_TIMEOUT_MS

Valeur constante : 10000 (0x0000000000002710)

Méthodes publiques

findFileLoadedByProcess

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

Renvoie l'entrée de fichier du premier fichier chargé par le processus spécifié avec le nom spécifié

Paramètres
device ITestDevice : appareil sur lequel exécuter

process String : modèle pgrep du processus à rechercher

filenameSubstr String : partie du nom/chemin du fichier chargé par le processus

Retour
Optional<IFileEntry> un Facultatif de IFileEntry du chemin du fichier sur l'appareil s'il existe.

Lance
DeviceNotAvailableException

findFilesLoadedByProcess

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

Renvoie les noms de fichier du fichier spécifié, chargé par le processus spécifié.

Paramètres
device ITestDevice : appareil sur lequel exécuter

pid int : l'id du processus à rechercher

filePattern Pattern : un modèle des noms de fichiers à renvoyer

Retour
Optional<List<String>> un Facultatif des fichiers filtrés ; vide si le processus n'a pas été trouvé ou si les fichiers ouverts n'ont pas pu être lus.

Lance
DeviceNotAvailableException

getNomProcessus

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

Obtenez le contenu de /proc/pid/cmdline.

Paramètres
device ITestDevice : l'appareil à utiliser

pid int : l'identifiant du processus pour obtenir le nom

Retour
Optional<String> une chaîne facultative du contenu de /proc/pid/cmdline ; vide si le pid n'a pas pu être trouvé

Lance
DeviceNotAvailableException

tuer tous

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

Envoie SIGKILL à tous les processus correspondant à un modèle.

Paramètres
device ITestDevice : l'appareil à utiliser

pgrepRegex String : une chaîne représentant la regex pour pgrep

timeoutMs long : combien de temps attendre avant de lever une TimeoutException

expectExist boolean : si une exception doit être levée lorsqu'aucun processus n'a été tué

Retour
boolean si des processus ont été tués

Lance
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

tuer tous

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

Envoie SIGKILL à tous les processus correspondant à un modèle.

Paramètres
device ITestDevice : l'appareil à utiliser

pgrepRegex String : une chaîne représentant la regex pour pgrep

timeoutMs long : combien de temps attendre avant de lever une TimeoutException

Retour
boolean si des processus ont été tués

Lance
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Envoie SIGKILL à un processus et attend qu'il soit quitté.

Paramètres
device ITestDevice : l'appareil à utiliser

pid int : l'identifiant du processus à attendre jusqu'à ce qu'il soit quitté

timeoutMs long : combien de temps attendre avant de lever une TimeoutException

Lance
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Envoyer un signal à un processus et attendre qu'il soit quitté.

Paramètres
device ITestDevice : l'appareil à utiliser

pid int : l'identifiant du processus à attendre jusqu'à ce qu'il soit quitté

signal int : le signal à envoyer au processus

timeoutMs long : combien de temps attendre avant de lever une TimeoutException

Lance
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

listeOuvrirFichiers

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

Renvoie les noms de fichiers actuellement ouverts du processus spécifié.

Paramètres
device ITestDevice : appareil sur lequel exécuter

pid int : l'id du processus à rechercher

Retour
Optional<List<String>> un Facultatif des fichiers ouverts ; vide si le processus n'a pas été trouvé ou si les fichiers ouverts n'ont pas pu être lus.

Lance
DeviceNotAvailableException

pidOf

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

Récupère un seul pid correspondant à un motif passé à `pgrep`. Lancez une IllegalArgumentException lorsque plusieurs PID correspondent au modèle.

Paramètres
device ITestDevice : l'appareil à utiliser

pgrepRegex String : une chaîne représentant la regex pour pgrep

Retour
Optional<Integer> un entier facultatif du pid ; vide si pgrep n'a pas renvoyé EXIT_SUCCESS

Lance
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

Récupère les pids correspondant à un motif passé à `pgrep`. Parce que /proc/pid/comm est tronqué, `pgrep` est passé avec `-f` pour vérifier la ligne de commande complète.

Paramètres
device ITestDevice : l'appareil à utiliser

pgrepRegex String : une chaîne représentant la regex pour pgrep

Retour
Optional<Map<Integer, String>> une carte facultative de pid à la ligne de commande ; vide si pgrep n'a pas renvoyé EXIT_SUCCESS

Lance
DeviceNotAvailableException

waitPidExited

public static void waitPidExited (ITestDevice device, 
                int pid)

Attendre qu'un processus soit quitté. Ce n'est pas attendre qu'il change, mais simplement être inexistant. Il est possible, mais peu probable, qu'un pid soit réutilisé entre les sondages

Paramètres
device ITestDevice : l'appareil à utiliser

pid int : l'identifiant du processus à attendre jusqu'à ce qu'il soit quitté

Lance
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitPidExited

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

Attendre qu'un processus soit quitté. Ce n'est pas attendre qu'il change, mais simplement être inexistant. Il est possible, mais peu probable, qu'un pid soit réutilisé entre les sondages

Paramètres
device ITestDevice : l'appareil à utiliser

pid int : l'identifiant du processus à attendre jusqu'à ce qu'il soit quitté

timeoutMs long : combien de temps attendre avant de lever une TimeoutException

Lance
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitProcessRunning

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

Attendez qu'un processus en cours d'exécution soit trouvé pour une expression régulière donnée.

Paramètres
device ITestDevice : l'appareil à utiliser

pgrepRegex String : une chaîne représentant la regex pour pgrep

timeoutMs long : combien de temps attendre avant de lever une TimeoutException

Retour
Map<Integer, String> le pid pour commander la carte de pidsOf(...)

Lance
TimeoutException
DeviceNotAvailableException

waitProcessRunning

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

Attendez qu'un processus en cours d'exécution soit trouvé pour une expression régulière donnée.

Paramètres
device ITestDevice : l'appareil à utiliser

pgrepRegex String : une chaîne représentant la regex pour pgrep

Retour
Map<Integer, String> le pid pour commander la carte de pidsOf(...)

Lance
TimeoutException
DeviceNotAvailableException

withProcessKill

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

Tue un processus au début et à la fin d'un test.

Paramètres
device ITestDevice : l'appareil à utiliser

pgrepRegex String : le modèle de nom du processus à tuer à donner à pgrep

beforeCloseKill Runnable : un exécutable pour toutes les actions qui doivent être nettoyées avant de tuer le processus dans un environnement normal à la fin du test. Peut être nul.

timeoutMs long : combien de temps en millisecondes attendre que le processus se tue

Retour
AutoCloseable Un objet qui tuera à nouveau le processus lorsqu'il sera fermé

Lance
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

withProcessKill

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

Tue un processus au début et à la fin d'un test.

Paramètres
device ITestDevice : l'appareil à utiliser

pgrepRegex String : le modèle de nom du processus à tuer à donner à pgrep

beforeCloseKill Runnable : un exécutable pour toutes les actions qui doivent être nettoyées avant de tuer le processus dans un environnement normal à la fin du test. Peut être nul.

Retour
AutoCloseable Un objet qui tuera à nouveau le processus lorsqu'il sera fermé

Lance
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException