ProcessusUtil

public final class ProcessUtil
extends Object

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


Divers assistants pour trouver, attendre et arrêter des processus sur l'appareil

Résumé

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 du premier fichier chargé par le processus spécifié et dont le nom est indiqué

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

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

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

Récupérez le contenu de /proc/pid/cmdline.

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

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

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

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

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

Envoyez SIGKILL à un processus et attendez qu'il soit fermé.

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

Envoyez un signal à un processus et attendez qu'il se ferme.

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

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

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

Récupère un seul pid correspondant à un modèle transmis à "pgrep".

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

Récupère les pids correspondant à un modèle transmis à "pgrep".

static void waitPidExited(ITestDevice device, int pid)

Attendez la fin d'un processus.

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

Attendez la fin d'un processus.

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)

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

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

Interrompre 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 du premier fichier chargé par le processus spécifié et dont le nom est indiqué

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

process String: modèle de processus pgrep à rechercher

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

Renvoie
Optional<IFileEntry> une valeur facultative IFileEntry pour le chemin d'accès au fichier sur l'appareil, le cas échéant.

Génère
DeviceNotAvailableException

findFilesLoadedByProcess

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

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

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

pid int: ID du processus à rechercher.

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

Renvoie
Optional<List<String>> Facultatif des fichiers filtrés. Ce champ est vide si le processus est introuvable ou ouvert fichiers n'ont pas pu être lus.

Génère
DeviceNotAvailableException

getProcessName

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

Récupérez le contenu de /proc/pid/cmdline.

Paramètres
device ITestDevice: appareil à utiliser

pid int: ID du processus pour lequel obtenir le nom

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

Génère
DeviceNotAvailableException

tuer tout

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

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

Paramètres
device ITestDevice: appareil à utiliser

pgrepRegex String: une chaîne représentant l'expression régulière de pgrep

timeoutMs long: délai d'attente avant de générer une exception TimeoutException.

expectExist boolean: indique si une exception doit être générée lorsqu'aucun processus n'a été arrêté.

Renvoie
boolean si des processus ont été arrêtés

Génère
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

tuer tout

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

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

Paramètres
device ITestDevice: appareil à utiliser

pgrepRegex String: une chaîne représentant l'expression régulière de pgrep

timeoutMs long: délai d'attente avant de générer une exception TimeoutException.

Renvoie
boolean si des processus ont été arrêtés

Génère
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Envoyez SIGKILL à un processus et attendez qu'il soit fermé.

Paramètres
device ITestDevice: appareil à utiliser

pid int: ID du processus à attendre de fermeture.

timeoutMs long: délai d'attente avant de générer une exception TimeoutException.

Génère
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Envoyez un signal à un processus et attendez qu'il se termine.

Paramètres
device ITestDevice: appareil à utiliser

pid int: ID du processus à attendre de fermeture.

signal int: signal à envoyer au processus

timeoutMs long: délai d'attente avant de générer une exception TimeoutException.

Génère
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

listOpenFiles

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

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

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

pid int: ID du processus à rechercher.

Renvoie
Optional<List<String>> Facultatif pour les fichiers ouverts ; vide si le processus est introuvable ou si les fichiers ouverts sont introuvables n'ont pas pu être lues.

Génère
DeviceNotAvailableException

pidOf

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

Récupère un seul pid correspondant à un modèle transmis à "pgrep". Générez une exception IllegalArgumentException lorsque plusieurs PID correspondent au modèle.

Paramètres
device ITestDevice: appareil à utiliser

pgrepRegex String: une chaîne représentant l'expression régulière de pgrep

Renvoie
Optional<Integer> Entier facultatif du pid. vide si pgrep n'a pas renvoyé EXIT_SUCCÈS.

Génère
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

Récupère les pids correspondant à un modèle transmis à "pgrep". Comme /proc/pid/comm est tronqué, La commande "pgrep" est transmise avec "-f" pour vérifier l'intégralité de la ligne de commande.

Paramètres
device ITestDevice: appareil à utiliser

pgrepRegex String: une chaîne représentant l'expression régulière de pgrep

Renvoie
Optional<Map<Integer, String>> Mappage facultatif du pid vers la ligne de commande vide si pgrep n'a pas renvoyé EXIT_SUCCÈS.

Génère
DeviceNotAvailableException

attentePidExited

public static void waitPidExited (ITestDevice device, 
                int pid)

Attendez la fin d'un processus. Il ne s'agit pas d'attendre que cela change, mais d'être inexistantes. Il est possible, mais peu probable, qu'un pid soit réutilisé entre les sondages

Paramètres
device ITestDevice: appareil à utiliser

pid int: ID du processus à attendre de fermeture.

Génère
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

attentePidExited

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

Attendez la fin d'un processus. Il ne s'agit pas d'attendre que cela change, mais d'être inexistantes. Il est possible, mais peu probable, qu'un pid soit réutilisé entre les sondages

Paramètres
device ITestDevice: appareil à utiliser

pid int: ID du processus à attendre de fermeture.

timeoutMs long: délai d'attente avant de générer une exception TimeoutException.

Génère
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: appareil à utiliser

pgrepRegex String: une chaîne représentant l'expression régulière de pgrep

timeoutMs long: délai d'attente avant de générer une exception TimeoutException.

Renvoie
Map<Integer, String> la commande pid au mappage de commandes à partir de pidsOf(...)

Génère
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: appareil à utiliser

pgrepRegex String: une chaîne représentant l'expression régulière de pgrep

Renvoie
Map<Integer, String> la commande pid au mappage de commandes à partir de pidsOf(...)

Génère
TimeoutException
DeviceNotAvailableException

withProcessKill

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

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

Paramètres
device ITestDevice: appareil à utiliser

pgrepRegex String: modèle de nom du processus à arrêter pour donner à pgrep

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

timeoutMs long: délai d'attente en millisecondes avant la fin du processus.

Renvoie
AutoCloseable Objet qui tuera à nouveau le processus lorsqu'il sera fermé

Génère
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

withProcessKill

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

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

Paramètres
device ITestDevice: appareil à utiliser

pgrepRegex String: modèle de nom du processus à arrêter pour donner à pgrep

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

Renvoie
AutoCloseable Objet qui tuera à nouveau le processus lorsqu'il sera fermé

Génère
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException