A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release
en lugar de aosp-main
para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
ProcessUtil
public
final
class
ProcessUtil
extends Object
java.lang.Object
|
↳ |
com.android.sts.common.ProcessUtil
|
Varias ayudas para encontrar, esperar y finalizar procesos en el dispositivo
Resumen
Métodos públicos |
static
Optional<IFileEntry>
|
findFileLoadedByProcess(ITestDevice device, String process, String filenameSubstr)
Muestra la entrada de archivo del primer archivo cargado por el proceso especificado con el nombre especificado.
|
static
Optional<List<String>>
|
findFilesLoadedByProcess(ITestDevice device, int pid, Pattern filePattern)
Devuelve los nombres de los archivos del archivo especificado que cargó el proceso especificado.
|
static
Optional<String>
|
getProcessName(ITestDevice device, int pid)
Obtén el contenido de /proc/pid/cmdline.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs, boolean expectExist)
Envía SIGKILL a todos los procesos que coincidan con un patrón.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs)
Envía SIGKILL a todos los procesos que coincidan con un patrón.
|
static
void
|
killPid(ITestDevice device, int pid, long timeoutMs)
Envía SIGKILL a un proceso y espera a que se cierre.
|
static
void
|
killPid(ITestDevice device, int pid, int signal, long timeoutMs)
Envía un indicador a un proceso y espera a que se cierre.
|
static
Optional<List<String>>
|
listOpenFiles(ITestDevice device, int pid)
Muestra los nombres de los archivos abiertos actualmente del proceso especificado.
|
static
Optional<Integer>
|
pidOf(ITestDevice device, String pgrepRegex)
Obtén un solo pid que coincida con un patrón pasado a "pgrep".
|
static
Optional<Map<Integer, String>>
|
pidsOf(ITestDevice device, String pgrepRegex)
Obtén los pids que coincidan con un patrón pasado a "pgrep".
|
static
void
|
waitPidExited(ITestDevice device, int pid)
Espera a que se cierre un proceso.
|
static
void
|
waitPidExited(ITestDevice device, int pid, long timeoutMs)
Espera a que se cierre un proceso.
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex, long timeoutMs)
Espera hasta que se encuentre un proceso en ejecución para una regex determinada.
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex)
Espera hasta que se encuentre un proceso en ejecución para una regex determinada.
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill, long timeoutMs)
Finaliza un proceso al principio y al final de una prueba.
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill)
Finaliza un proceso al principio y al final de una prueba.
|
Constantes
PROCESS_POLL_PERIOD_MS
public static final long PROCESS_POLL_PERIOD_MS
Valor constante:
250
(0x00000000000000fa)
PROCESS_WAIT_TIMEOUT_MS
public static final long PROCESS_WAIT_TIMEOUT_MS
Valor constante:
10000
(0x0000000000002710)
Métodos públicos
findFileLoadedByProcess
public static Optional<IFileEntry> findFileLoadedByProcess (ITestDevice device,
String process,
String filenameSubstr)
Muestra la entrada de archivo del primer archivo cargado por el proceso especificado con el nombre especificado.
Parámetros |
device |
ITestDevice : Es el dispositivo en el que se ejecutará. |
process |
String : Es el patrón de pgrep del proceso que se busca. |
filenameSubstr |
String : Es la parte del nombre o la ruta de acceso del archivo que cargó el proceso. |
Muestra |
Optional<IFileEntry> |
Un elemento opcional de IFileEntry de la ruta de acceso del archivo en el dispositivo, si existe.
|
Arroja |
DeviceNotAvailableException |
|
findFilesLoadedByProcess
public static Optional<List<String>> findFilesLoadedByProcess (ITestDevice device,
int pid,
Pattern filePattern)
Devuelve los nombres de los archivos del archivo especificado que cargó el proceso especificado.
Parámetros |
device |
ITestDevice : Es el dispositivo en el que se ejecutará. |
pid |
int : Es el ID del proceso que se buscará. |
filePattern |
Pattern : Es un patrón de los nombres de los archivos que se mostrarán. |
Muestra |
Optional<List<String>> |
Es un elemento opcional de los archivos filtrados; está vacío si no se encontró el proceso o si no se pudieron leer los archivos abiertos.
|
Arroja |
DeviceNotAvailableException |
|
getProcessName
public static Optional<String> getProcessName (ITestDevice device,
int pid)
Obtén el contenido de /proc/pid/cmdline.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pid |
int : Es el ID del proceso para obtener el nombre. |
Muestra |
Optional<String> |
Es una cadena opcional del contenido de /proc/pid/cmdline; está vacía si no se pudo encontrar el pid.
|
Arroja |
DeviceNotAvailableException |
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs,
boolean expectExist)
Envía SIGKILL a todos los procesos que coincidan con un patrón.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pgrepRegex |
String : Es una cadena que representa la regex de pgrep. |
timeoutMs |
long : Es la cantidad de tiempo que se debe esperar antes de arrojar una TimeoutException. |
expectExist |
boolean : Indica si se debe generar una excepción cuando no se hayan cerrado procesos. |
Muestra |
boolean |
si se cerraron procesos
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs)
Envía SIGKILL a todos los procesos que coincidan con un patrón.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pgrepRegex |
String : Es una cadena que representa la regex de pgrep. |
timeoutMs |
long : Es la cantidad de tiempo que se debe esperar antes de arrojar una TimeoutException. |
Muestra |
boolean |
si se cerraron procesos
|
killPid
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
Envía SIGKILL a un proceso y espera a que se cierre.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pid |
int : Es el ID del proceso que se espera hasta que se cierre. |
timeoutMs |
long : Es la cantidad de tiempo que se debe esperar antes de arrojar una TimeoutException.
|
killPid
public static void killPid (ITestDevice device,
int pid,
int signal,
long timeoutMs)
Envía un indicador a un proceso y espera a que se cierre.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pid |
int : Es el ID del proceso que se espera hasta que se cierre. |
signal |
int : Es el indicador que se enviará al proceso. |
timeoutMs |
long : Es la cantidad de tiempo que se debe esperar antes de arrojar una TimeoutException.
|
listOpenFiles
public static Optional<List<String>> listOpenFiles (ITestDevice device,
int pid)
Muestra los nombres de los archivos abiertos actualmente del proceso especificado.
Parámetros |
device |
ITestDevice : Es el dispositivo en el que se ejecutará. |
pid |
int : Es el ID del proceso que se buscará. |
Muestra |
Optional<List<String>> |
Es un elemento opcional de los archivos abiertos; está vacío si no se encontró el proceso o si no se pudieron leer los archivos abiertos.
|
Arroja |
DeviceNotAvailableException |
|
pidOf
public static Optional<Integer> pidOf (ITestDevice device,
String pgrepRegex)
Obtén un solo PID que coincida con un patrón pasado a "pgrep". Lanza un IllegalArgumentException
cuando haya más de un PID que coincida con el patrón.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pgrepRegex |
String : Es una cadena que representa la regex de pgrep. |
Muestra |
Optional<Integer> |
Es un número entero opcional del pid; está vacío si pgrep no muestra EXIT_SUCCESS.
|
Arroja |
DeviceNotAvailableException |
|
IllegalArgumentException |
|
pidsOf
public static Optional<Map<Integer, String>> pidsOf (ITestDevice device,
String pgrepRegex)
Obtén los pids que coincidan con un patrón pasado a "pgrep". Debido a que /proc/pid/comm se trunca, se pasa "pgrep" con "-f" para verificar la línea de comandos completa.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pgrepRegex |
String : Es una cadena que representa la regex de pgrep. |
Muestra |
Optional<Map<Integer, String>> |
Es un mapa opcional de pid a la línea de comandos; está vacío si pgrep no muestra EXIT_SUCCESS.
|
Arroja |
DeviceNotAvailableException |
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid)
Espera a que se cierre un proceso. Esto no significa esperar a que cambie, sino que simplemente no existe. Es posible, pero poco probable, que se vuelva a usar un pid entre encuestas.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pid |
int : Es el ID del proceso que se espera hasta que se cierre.
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
Espera a que se cierre un proceso. Esto no significa esperar a que cambie, sino que simplemente no existe. Es posible, pero poco probable, que se vuelva a usar un pid entre encuestas.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pid |
int : Es el ID del proceso que se espera hasta que se cierre. |
timeoutMs |
long : Es la cantidad de tiempo que se debe esperar antes de arrojar una TimeoutException.
|
waitProcessRunning
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex,
long timeoutMs)
Espera hasta que se encuentre un proceso en ejecución para una regex determinada.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pgrepRegex |
String : Es una cadena que representa la regex de pgrep. |
timeoutMs |
long : Es la cantidad de tiempo que se debe esperar antes de arrojar una TimeoutException. |
Muestra |
Map<Integer, String> |
el mapa de pid a comando de pidsOf(...)
|
Arroja |
TimeoutException |
|
DeviceNotAvailableException |
|
waitProcessRunning
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex)
Espera hasta que se encuentre un proceso en ejecución para una regex determinada.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pgrepRegex |
String : Es una cadena que representa la regex de pgrep. |
Muestra |
Map<Integer, String> |
el mapa de pid a comando de pidsOf(...)
|
Arroja |
TimeoutException |
|
DeviceNotAvailableException |
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill,
long timeoutMs)
Finaliza un proceso al principio y al final de una prueba.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pgrepRegex |
String : Es el patrón de nombre del proceso que se finalizará para darle a pgrep. |
beforeCloseKill |
Runnable : Es un elemento ejecutable para cualquier acción que deba limpiarse antes de finalizar el proceso en un entorno normal al final de la prueba. Puede ser nulo. |
timeoutMs |
long : Es la cantidad de tiempo en milisegundos que se esperará para que se cancele el proceso. |
Muestra |
AutoCloseable |
Un objeto que finalizará el proceso nuevamente cuando se cierre
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
Finaliza un proceso al principio y al final de una prueba.
Parámetros |
device |
ITestDevice : Es el dispositivo que se usará. |
pgrepRegex |
String : Es el patrón de nombre del proceso que se finalizará para darle a pgrep. |
beforeCloseKill |
Runnable : Es un elemento ejecutable para cualquier acción que deba limpiarse antes de finalizar el proceso en un entorno normal al final de la prueba. Puede ser nulo. |
Muestra |
AutoCloseable |
Un objeto que finalizará el proceso nuevamente cuando se cierre
|
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-03-26 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-03-26 (UTC)"],[],[]]