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é
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
|
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
|
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.
|
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.
|
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.
|
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.
|
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é
|
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é
|