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