Utilitário de processamento

public final class ProcessUtil
extends Object

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


Ajuda para encontrar, aguardar e encerrar processos no dispositivo

Resumo

Classes aninhadas

class ProcessUtil.KillException

 

Constantes

long PROCESS_POLL_PERIOD_MS

long PROCESS_WAIT_TIMEOUT_MS

Métodos públicos

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

Retorna a entrada de arquivo do primeiro arquivo carregado pelo processo especificado com o nome especificado.

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

Retorna os nomes dos arquivos do arquivo especificado, carregados pelo processo especificado.

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

Obtenha o conteúdo de /proc/pid/cmdline.

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

Envie SIGKILL a todos os processos que correspondam a um padrão.

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

Envie SIGKILL a todos os processos que correspondam a um padrão.

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

Envie SIGKILL a um processo e aguarde até que ele seja encerrado.

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

Envie um sinal para um processo e aguarde a saída.

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

Retorna os nomes dos arquivos abertos atualmente do processo especificado.

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

Recebe um único pid correspondente a um padrão transmitido para "pgrep".

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

Acessa os pids correspondentes a um padrão passado para "pgrep".

static void waitPidExited(ITestDevice device, int pid)

Aguarde a saída de um processo.

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

Aguarde a saída de um processo.

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

Aguarda até que um processo em execução seja encontrado para um determinado regex.

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

Aguarda até que um processo em execução seja encontrado para um determinado regex.

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

Encerra um processo no início e no final de um teste.

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

Encerra um processo no início e no final de um teste.

Constantes

PERÍODO_DE_ENQUETE_DE_PROCESSO_DE_PROCESSO

public static final long PROCESS_POLL_PERIOD_MS

Valor constante: 250 (0x00000000000000fa)

PROCESSAR_MÍDIA DE ESPERA_DE

public static final long PROCESS_WAIT_TIMEOUT_MS

Valor constante: 10 mil (0x0000000000002710)

Métodos públicos

findFileLoadedByProcess

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

Retorna a entrada de arquivo do primeiro arquivo carregado pelo processo especificado com o nome especificado.

Parâmetros
device ITestDevice: dispositivo para execução.

process String: padrão pgrep do processo a ser procurado

filenameSubstr String: parte do nome/caminho do arquivo carregado pelo processo.

Retorna
Optional<IFileEntry> uma operação de IFileEntry do caminho do arquivo no dispositivo, se existir.

Gera
DeviceNotAvailableException

findFilesLoadedByProcess

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

Retorna os nomes dos arquivos do arquivo especificado, carregados pelo processo especificado.

Parâmetros
device ITestDevice: dispositivo para execução.

pid int: o ID do processo a ser pesquisado.

filePattern Pattern: um padrão dos nomes de arquivo que serão retornados.

Retorna
Optional<List<String>> um Opcional dos arquivos filtrados; vazio se o processo não for encontrado ou a página Não foi possível ler os arquivos.

Gera
DeviceNotAvailableException

getProcessName

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

Obtenha o conteúdo de /proc/pid/cmdline.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pid int: o ID do processo para receber o nome do

Retorna
Optional<String> uma String opcional de conteúdo de /proc/pid/cmdline; vazio se o pid não pudesse ser encontrado

Gera
DeviceNotAvailableException

matar todos

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

Envie SIGKILL a todos os processos que correspondam a um padrão.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pgrepRegex String: uma string que representa o regex para pgrep.

timeoutMs long: quanto tempo esperar antes de gerar uma TimeoutException

expectExist boolean: se uma exceção precisa ser gerada quando nenhum processo foi encerrado

Retorna
boolean se algum processo foi encerrado

Gera
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

matar todos

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

Envie SIGKILL a todos os processos que correspondam a um padrão.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pgrepRegex String: uma string que representa o regex para pgrep.

timeoutMs long: quanto tempo esperar antes de gerar uma TimeoutException

Retorna
boolean se algum processo foi encerrado

Gera
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Envie SIGKILL a um processo e aguarde até que ele seja encerrado.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pid int: o ID do processo a ser aguardado até a saída.

timeoutMs long: quanto tempo esperar antes de gerar uma TimeoutException

Gera
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Envie um sinal para um processo e aguarde a saída.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pid int: o ID do processo a ser aguardado até a saída.

signal int: o indicador a ser enviado para o processo.

timeoutMs long: quanto tempo esperar antes de gerar uma TimeoutException

Gera
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

listOpenFiles

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

Retorna os nomes dos arquivos abertos atualmente do processo especificado.

Parâmetros
device ITestDevice: dispositivo para execução.

pid int: o ID do processo a ser pesquisado.

Retorna
Optional<List<String>> Um dos arquivos abertos é opcional. vazio se o processo não for encontrado ou se os arquivos abertos que não foi possível ler.

Gera
DeviceNotAvailableException

pidOf

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

Recebe um único pid correspondente a um padrão transmitido para "pgrep". Uma IllegalArgumentException é gerada quando há mais de um PID correspondente ao padrão.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pgrepRegex String: uma string que representa o regex para pgrep.

Retorna
Optional<Integer> um número inteiro opcional do pid; vazio se pgrep não retornar EXIT_SUCCESS

Gera
DeviceNotAvailableException
IllegalArgumentException

xadrez

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

Acessa os pids correspondentes a um padrão passado para "pgrep". Como /proc/pid/comm está truncado, "pgrep" é transmitido com "-f" para verificar a linha de comando completa.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pgrepRegex String: uma string que representa o regex para pgrep.

Retorna
Optional<Map<Integer, String>> um mapa opcional de pid para linha de comando; vazio se pgrep não retornar EXIT_SUCCESS

Gera
DeviceNotAvailableException

"waitPidExited"

public static void waitPidExited (ITestDevice device, 
                int pid)

Aguarde a saída de um processo. Isso não significa esperar que ele mude, mas simplesmente ser inexistente. É possível, mas improvável, que um pid seja reutilizado entre enquetes.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pid int: o ID do processo a ser aguardado até a saída.

Gera
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

"waitPidExited"

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

Aguarde a saída de um processo. Isso não significa esperar que ele mude, mas simplesmente ser inexistente. É possível, mas improvável, que um pid seja reutilizado entre enquetes.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pid int: o ID do processo a ser aguardado até a saída.

timeoutMs long: quanto tempo esperar antes de gerar uma TimeoutException

Gera
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

"waitProcessRunning"

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

Aguarda até que um processo em execução seja encontrado para um determinado regex.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pgrepRegex String: uma string que representa o regex para pgrep.

timeoutMs long: quanto tempo esperar antes de gerar uma TimeoutException

Retorna
Map<Integer, String> o pid para o mapa de comando de pidsOf(...)

Gera
TimeoutException
DeviceNotAvailableException

"waitProcessRunning"

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

Aguarda até que um processo em execução seja encontrado para um determinado regex.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pgrepRegex String: uma string que representa o regex para pgrep.

Retorna
Map<Integer, String> o pid para o mapa de comando de pidsOf(...)

Gera
TimeoutException
DeviceNotAvailableException

comProcessKill

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

Encerra um processo no início e no final de um teste.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pgrepRegex String: o padrão de nome do processo que será encerrado e entregue ao pgrep.

beforeCloseKill Runnable: um executável para qualquer ação que precise limpar antes de encerrar. processo em um ambiente normal no final do teste. Pode ser nulo.

timeoutMs long: quanto tempo, em milissegundos, aguardar a conclusão do processo.

Retorna
AutoCloseable Objeto que encerra o processo novamente quando é fechado.

Gera
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

comProcessKill

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

Encerra um processo no início e no final de um teste.

Parâmetros
device ITestDevice: o dispositivo a ser usado.

pgrepRegex String: o padrão de nome do processo que será encerrado e entregue ao pgrep.

beforeCloseKill Runnable: um executável para qualquer ação que precise limpar antes de encerrar. processo em um ambiente normal no final do teste. Pode ser nulo.

Retorna
AutoCloseable Objeto que encerra o processo novamente quando é fechado.

Gera
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException