Procesy
public
final
class
ProcessUtil
extends Object
java.lang.Object
|
↳ |
com.android.sts.common.ProcessUtil,
|
Różni pomocnicy mogą znajdować, czekać i zamykać procesy na urządzeniu
Podsumowanie
Metody publiczne |
static
Optional<IFileEntry>
|
findFileLoadedByProcess(ITestDevice device, String process, String filenameSubstr)
Zwraca wpis pierwszego pliku wczytanego przez określony proces o podanej nazwie
|
static
Optional<List<String>>
|
findFilesLoadedByProcess(ITestDevice device, int pid, Pattern filePattern)
Zwraca nazwy plików określonego pliku wczytane przez określony proces.
|
static
Optional<String>
|
getProcessName(ITestDevice device, int pid)
Pobierz zawartość z /proc/pid/cmdline.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs, boolean expectExist)
Wyślij SIGKILL do wszystkich procesów pasujących do wzorca.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs)
Wyślij SIGKILL do wszystkich procesów pasujących do wzorca.
|
static
void
|
killPid(ITestDevice device, int pid, long timeoutMs)
Wyślij SIGKILL do procesu i poczekaj na jego zamknięcie.
|
static
void
|
killPid(ITestDevice device, int pid, int signal, long timeoutMs)
Wyślij sygnał do procesu i poczekaj, aż zniknie.
|
static
Optional<List<String>>
|
listOpenFiles(ITestDevice device, int pid)
Zwraca obecnie otwarte nazwy plików określonego procesu.
|
static
Optional<Integer>
|
pidOf(ITestDevice device, String pgrepRegex)
Pobierz jeden pid pasujący do wzorca przekazywanego do „pgrep”.
|
static
Optional<Map<Integer, String>>
|
pidsOf(ITestDevice device, String pgrepRegex)
Pobierz identyfikatory PID pasujące do wzorca przekazywanego do „pgrep”.
|
static
void
|
waitPidExited(ITestDevice device, int pid)
Poczekaj na zakończenie procesu.
|
static
void
|
waitPidExited(ITestDevice device, int pid, long timeoutMs)
Poczekaj na zakończenie procesu.
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex, long timeoutMs)
Poczekaj, aż dla danego wyrażenia regularnego znajdzie się uruchomiony proces.
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex)
Poczekaj, aż dla danego wyrażenia regularnego znajdzie się uruchomiony proces.
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill, long timeoutMs)
Zakończ proces na początku i na końcu testu.
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill)
Zakończ proces na początku i na końcu testu.
|
Stałe
PROCES_POLL_PERIOD_MS
public static final long PROCESS_POLL_PERIOD_MS
Wartość stała:
250
(0x00000000000000fa)
PROCESS_WAIT_TIMEOUT_MS
public static final long PROCESS_WAIT_TIMEOUT_MS
Wartość stała:
10000
(0x0000000000002710)
Metody publiczne
findFileLoadedByProcess
public static Optional<IFileEntry> findFileLoadedByProcess (ITestDevice device,
String process,
String filenameSubstr)
Zwraca wpis pierwszego pliku wczytanego przez określony proces o podanej nazwie
Parametry |
device |
ITestDevice : urządzenie, na którym zostanie uruchomione |
process |
String : wzorzec pgrep procesu do wyszukania |
filenameSubstr |
String : część nazwy lub ścieżki pliku wczytanej przez proces |
Zwroty |
Optional<IFileEntry> |
wartość w polu IFileEntry, która odnosi się do ścieżki pliku na urządzeniu, jeśli istnieje.
|
Rzuty |
DeviceNotAvailableException |
|
findFilesLoadedByProcess (znajdźFilesLoadedByProcess)
public static Optional<List<String>> findFilesLoadedByProcess (ITestDevice device,
int pid,
Pattern filePattern)
Zwraca nazwy plików określonego pliku wczytane przez określony proces.
Parametry |
device |
ITestDevice : urządzenie, na którym zostanie uruchomione |
pid |
int : identyfikator procesu do wyszukania |
filePattern |
Pattern : wzorzec nazw plików do zwrócenia, |
Zwroty |
Optional<List<String>> |
element opcjonalny odfiltrowanych plików; jeśli proces nie został znaleziony, lub otwarty jest
Nie udało się odczytać plików.
|
Rzuty |
DeviceNotAvailableException |
|
GetProcessName
public static Optional<String> getProcessName (ITestDevice device,
int pid)
Pobierz zawartość z /proc/pid/cmdline.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pid |
int : identyfikator procesu, dla którego chcesz uzyskać nazwę |
Zwroty |
Optional<String> |
opcjonalny ciąg znaków z wartością /proc/pid/cmdline; puste, jeśli pid nie może
daj się znaleźć
|
Rzuty |
DeviceNotAvailableException |
|
zabij wszystko
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs,
boolean expectExist)
Wyślij SIGKILL do wszystkich procesów pasujących do wzorca.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : ciąg znaków reprezentujący wyrażenie regularne dla polecenia pgrep |
timeoutMs |
long : czas oczekiwania przed zgłoszeniem wyjątku TimeoutException. |
expectExist |
boolean : określa, czy należy zgłosić wyjątek, jeśli nie zostało przerwane żadne procesy |
Zwroty |
boolean |
czy zostały przerwane procesy
|
zabij wszystko
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs)
Wyślij SIGKILL do wszystkich procesów pasujących do wzorca.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : ciąg znaków reprezentujący wyrażenie regularne dla polecenia pgrep |
timeoutMs |
long : czas oczekiwania przed zgłoszeniem wyjątku TimeoutException. |
Zwroty |
boolean |
czy zostały przerwane procesy
|
KillPid
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
Wyślij SIGKILL do procesu i poczekaj na jego zamknięcie.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pid |
int : identyfikator procesu oczekiwania na zakończenie. |
timeoutMs |
long : czas oczekiwania przed zgłoszeniem wyjątku TimeoutException.
|
KillPid
public static void killPid (ITestDevice device,
int pid,
int signal,
long timeoutMs)
Wyślij sygnał do procesu i poczekaj, aż zniknie.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pid |
int : identyfikator procesu oczekiwania na zakończenie. |
signal |
int : sygnał do wysłania do procesu. |
timeoutMs |
long : czas oczekiwania przed zgłoszeniem wyjątku TimeoutException.
|
listaOpenFiles (ListyOpenFiles)
public static Optional<List<String>> listOpenFiles (ITestDevice device,
int pid)
Zwraca obecnie otwarte nazwy plików określonego procesu.
Parametry |
device |
ITestDevice : urządzenie, na którym zostanie uruchomione |
pid |
int : identyfikator procesu do wyszukania |
Zwroty |
Optional<List<String>> |
element opcjonalny z otwartych plików; puste, jeśli nie udało się znaleźć procesu lub otwarte pliki
nie udało się odczytać.
|
Rzuty |
DeviceNotAvailableException |
|
pidOf
public static Optional<Integer> pidOf (ITestDevice device,
String pgrepRegex)
Pobierz jeden pid pasujący do wzorca przekazywanego do „pgrep”. Zgłaszaj IllegalArgumentException
, gdy do wzorca pasuje więcej niż jeden identyfikator PID.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : ciąg znaków reprezentujący wyrażenie regularne dla polecenia pgrep |
Zwroty |
Optional<Integer> |
opcjonalna liczba całkowita liczby pid; puste, jeśli polecenie pgrep nie zwróciło Exit_success
|
Rzuty |
DeviceNotAvailableException |
|
IllegalArgumentException |
|
pidsOf
public static Optional<Map<Integer, String>> pidsOf (ITestDevice device,
String pgrepRegex)
Pobierz identyfikatory PID pasujące do wzorca przekazywanego do „pgrep”. Ponieważ plik /proc/pid/comm jest obcięty,
Metoda „pgrep” jest przekazywana z argumentem „-f”, aby sprawdzić pełny wiersz poleceń.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : ciąg znaków reprezentujący wyrażenie regularne dla polecenia pgrep |
Zwroty |
Optional<Map<Integer, String>> |
opcjonalną mapę pid do wiersza poleceń; puste, jeśli polecenie pgrep nie zwróciło Exit_success
|
Rzuty |
DeviceNotAvailableException |
|
Oczekiwanie na zakończenie
public static void waitPidExited (ITestDevice device,
int pid)
Poczekaj na zakończenie procesu. Nie czekamy, aż się zmieni,
nie istnieje. Jest możliwe, ale mało prawdopodobne, aby pid mógł zostać użyty ponownie w ankietach
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pid |
int : identyfikator procesu oczekiwania na zakończenie.
|
Oczekiwanie na zakończenie
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
Poczekaj na zakończenie procesu. Nie czekamy, aż się zmieni,
nie istnieje. Jest możliwe, ale mało prawdopodobne, aby pid mógł zostać użyty ponownie w ankietach
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pid |
int : identyfikator procesu oczekiwania na zakończenie. |
timeoutMs |
long : czas oczekiwania przed zgłoszeniem wyjątku TimeoutException.
|
Oczekiwanie na działanie procesu
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex,
long timeoutMs)
Poczekaj, aż dla danego wyrażenia regularnego znajdzie się uruchomiony proces.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : ciąg znaków reprezentujący wyrażenie regularne dla polecenia pgrep |
timeoutMs |
long : czas oczekiwania przed zgłoszeniem wyjątku TimeoutException. |
Zwroty |
Map<Integer, String> |
pid do polecenia mapy z pidsOf(...)
|
Rzuty |
TimeoutException |
|
DeviceNotAvailableException |
|
Oczekiwanie na działanie procesu
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex)
Poczekaj, aż dla danego wyrażenia regularnego znajdzie się uruchomiony proces.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : ciąg znaków reprezentujący wyrażenie regularne dla polecenia pgrep |
Zwroty |
Map<Integer, String> |
pid do polecenia mapy z pidsOf(...)
|
Rzuty |
TimeoutException |
|
DeviceNotAvailableException |
|
Za pomocąProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill,
long timeoutMs)
Zakończ proces na początku i na końcu testu.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : wzorzec nazwy procesu, który ma zostać zabity dla pgrep |
beforeCloseKill |
Runnable : umożliwia wykonanie wszystkich działań, które trzeba usunąć przed zamknięciem
w normalnym środowisku po zakończeniu testu. Może mieć wartość null. |
timeoutMs |
long : czas oczekiwania na zakończenie procesu (w milisekundach). |
Zwroty |
AutoCloseable |
Obiekt, który ponownie zakończy proces po jego zamknięciu
|
Za pomocąProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
Zakończ proces na początku i na końcu testu.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : wzorzec nazwy procesu, który ma zostać zabity dla pgrep |
beforeCloseKill |
Runnable : umożliwia wykonanie wszystkich działań, które trzeba usunąć przed zamknięciem
w normalnym środowisku po zakończeniu testu. Może mieć wartość null. |
Zwroty |
AutoCloseable |
Obiekt, który ponownie zakończy proces po jego zamknięciu
|