ProcessUtil
public
final
class
ProcessUtil
extends Object
java.lang.Object
|
↳ |
com.android.sts.common.ProcessUtil
|
różne narzędzia do znajdowania, oczekiwania i zatrzymywania procesów na urządzeniu;
Podsumowanie
Metody publiczne |
static
Optional<IFileEntry>
|
findFileLoadedByProcess(ITestDevice device, String process, String filenameSubstr)
Zwraca wpis pliku pierwszego załadowanego przez określony proces pliku o określonej nazwie.
|
static
Optional<List<String>>
|
findFilesLoadedByProcess(ITestDevice device, int pid, Pattern filePattern)
Zwraca nazwy plików określonego pliku, wczytanych przez określony proces.
|
static
Optional<String>
|
getProcessName(ITestDevice device, int pid)
Pobierz zawartość z katalogu /proc/pid/cmdline.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs, boolean expectExist)
Wysyłanie sygnału SIGKILL do wszystkich procesów pasujących do wzorca.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs)
Wysyłanie sygnału SIGKILL do wszystkich procesów pasujących do wzorca.
|
static
void
|
killPid(ITestDevice device, int pid, long timeoutMs)
Prześlij sygnał SIGKILL do procesu i zaczekaj, aż zostanie on zakończony.
|
static
void
|
killPid(ITestDevice device, int pid, int signal, long timeoutMs)
Wyślij sygnał do procesu i poczekaj, aż się zakończy.
|
static
Optional<List<String>>
|
listOpenFiles(ITestDevice device, int pid)
Zwraca nazwy aktualnie otwartych plików określonego procesu.
|
static
Optional<Integer>
|
pidOf(ITestDevice device, String pgrepRegex)
Pobierz pojedynczy identyfikator pid pasujący do wzorca przekazanego do `pgrep`.
|
static
Optional<Map<Integer, String>>
|
pidsOf(ITestDevice device, String pgrepRegex)
Pobierz pidy pasujące do wzorca przekazanego do `pgrep`.
|
static
void
|
waitPidExited(ITestDevice device, int pid)
Zaczekaj, aż proces zostanie zamknięty.
|
static
void
|
waitPidExited(ITestDevice device, int pid, long timeoutMs)
Zaczekaj, aż proces zostanie zamknięty.
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex, long timeoutMs)
Poczekaj, aż zostanie znaleziony uruchomiony proces dla danego wyrażenia regularnego.
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex)
Poczekaj, aż zostanie znaleziony uruchomiony proces dla danego wyrażenia regularnego.
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill, long timeoutMs)
Zabijanie procesu na początku i na końcu testu.
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill)
Zabijanie procesu na początku i na końcu testu.
|
Stałe
PROCESS_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 pliku pierwszego załadowanego przez określony proces pliku o określonej nazwie.
Parametry |
device |
ITestDevice : urządzenie, na którym ma być uruchomiony program |
process |
String : wzór pgrep procesu do wyszukania |
filenameSubstr |
String : część nazwy lub ścieżki pliku wczytywanej przez proces |
Zwroty |
Optional<IFileEntry> |
Opcjonalnie IFileEntry z ścieżką do pliku na urządzeniu, jeśli istnieje.
|
Rzuty |
DeviceNotAvailableException |
|
findFilesLoadedByProcess
public static Optional<List<String>> findFilesLoadedByProcess (ITestDevice device,
int pid,
Pattern filePattern)
Zwraca nazwy plików określonego pliku, wczytanych przez określony proces.
Parametry |
device |
ITestDevice : urządzenie, na którym ma być uruchomiony program |
pid |
int : identyfikator procesu do wyszukania |
filePattern |
Pattern : wzór nazw plików do zwrócenia. |
Zwroty |
Optional<List<String>> |
Opcjonalnie pliki, które zostały odfiltrowane; pusty, jeśli proces nie został znaleziony lub nie można było odczytać otwartych plików.
|
Rzuty |
DeviceNotAvailableException |
|
getProcessName
public static Optional<String> getProcessName (ITestDevice device,
int pid)
Pobierz zawartość z katalogu /proc/pid/cmdline.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pid |
int : identyfikator procesu, którego nazwę chcesz poznać |
Zwroty |
Optional<String> |
Opcjonalny ciąg znaków z treści /proc/pid/cmdline; pusty, jeśli nie udało się znaleźć pid
|
Rzuty |
DeviceNotAvailableException |
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs,
boolean expectExist)
Wysyłanie sygnału 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 pgrep |
timeoutMs |
long : czas oczekiwania przed wyrzuceniem wyjątku TimeoutException |
expectExist |
boolean : czy należy zgłaszać wyjątek, gdy nie zabito żadnych procesów |
Zwroty |
boolean |
czy jakieś procesy zostały przerwane.
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs)
Wysyłanie sygnału 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 pgrep |
timeoutMs |
long : czas oczekiwania przed wyrzuceniem wyjątku TimeoutException |
Zwroty |
boolean |
czy jakieś procesy zostały przerwane.
|
killPid
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
Prześlij sygnał SIGKILL do procesu i zaczekaj, aż zostanie on zamknięty.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pid |
int : identyfikator procesu, który ma czekać do zakończenia |
timeoutMs |
long : czas oczekiwania przed wyrzuceniem wyjątku TimeoutException
|
killPid
public static void killPid (ITestDevice device,
int pid,
int signal,
long timeoutMs)
Wyślij sygnał do procesu i poczekaj, aż się zakończy.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pid |
int : identyfikator procesu, który ma czekać do zakończenia |
signal |
int : sygnał do wysłania do procesu |
timeoutMs |
long : czas oczekiwania przed wyrzuceniem wyjątku TimeoutException
|
listOpenFiles
public static Optional<List<String>> listOpenFiles (ITestDevice device,
int pid)
Zwraca nazwy aktualnie otwartych plików określonego procesu.
Parametry |
device |
ITestDevice : urządzenie, na którym ma być uruchomiony program |
pid |
int : identyfikator procesu do wyszukania |
Zwroty |
Optional<List<String>> |
Opcjonalnie otwarte pliki; pusty, jeśli proces nie został znaleziony lub otwarte pliki nie mogły zostać odczytane.
|
Rzuty |
DeviceNotAvailableException |
|
pidOf
public static Optional<Integer> pidOf (ITestDevice device,
String pgrepRegex)
Pobierz pojedynczy identyfikator PID pasujący do wzorca przekazanego do programu „pgrep”. W przypadku, gdy istnieje więcej niż jeden identyfikator PID pasujący do wzorca, użyj instrukcji IllegalArgumentException
.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : ciąg znaków reprezentujący wyrażenie regularne dla pgrep |
Zwroty |
Optional<Integer> |
Opcjonalna liczba całkowita pid; pusta, jeśli pgrep nie zwrócił EXIT_SUCCESS
|
Rzuty |
DeviceNotAvailableException |
|
IllegalArgumentException |
|
pidsOf
public static Optional<Map<Integer, String>> pidsOf (ITestDevice device,
String pgrepRegex)
Uzyskaj identyfikatory PID pasujące do wzorca przekazanego do programu „pgrep”. Ponieważ plik /proc/pid/comm jest obcięty, do programu „pgrep” jest przekazywany parametr „-f”, aby sprawdzić pełny wiersz polecenia.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : ciąg znaków reprezentujący wyrażenie regularne dla pgrep |
Zwroty |
Optional<Map<Integer, String>> |
Opcjonalna mapa pid do wiersza poleceń; pusta, jeśli pgrep nie zwrócił EXIT_SUCCESS
|
Rzuty |
DeviceNotAvailableException |
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid)
Zaczekaj, aż proces zostanie zamknięty. Nie chodzi o to, że coś się zmieni, tylko że coś nie istnieje. Możliwe, ale mało prawdopodobne jest, że identyfikator PID zostanie użyty ponownie w innej ankiecie.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pid |
int : identyfikator procesu, który ma czekać do zakończenia
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
Zaczekaj, aż proces zostanie zamknięty. Nie chodzi o to, że coś się zmieni, tylko że coś nie istnieje. Możliwe, ale mało prawdopodobne jest, że identyfikator PID zostanie użyty ponownie w innej ankiecie.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pid |
int : identyfikator procesu, który ma czekać do zakończenia |
timeoutMs |
long : czas oczekiwania przed wyrzuceniem wyjątku TimeoutException
|
waitProcessRunning
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex,
long timeoutMs)
Poczekaj, aż zostanie znaleziony uruchomiony proces dla danego wyrażenia regularnego.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : ciąg znaków reprezentujący wyrażenie regularne dla pgrep |
timeoutMs |
long : czas oczekiwania przed wyrzuceniem wyjątku TimeoutException |
Zwroty |
Map<Integer, String> |
mapowanie pid do polecenia z pidsOf(...)
|
Rzuty |
TimeoutException |
|
DeviceNotAvailableException |
|
waitProcessRunning
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex)
Poczekaj, aż zostanie znaleziony uruchomiony proces dla danego wyrażenia regularnego.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : ciąg znaków reprezentujący wyrażenie regularne dla pgrep |
Zwroty |
Map<Integer, String> |
mapowanie pid do polecenia z pidsOf(...)
|
Rzuty |
TimeoutException |
|
DeviceNotAvailableException |
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill,
long timeoutMs)
Zabijanie procesu na początku i na końcu testu.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : wzór nazwy procesu do zabicia, który ma zostać przekazany do pgrep |
beforeCloseKill |
Runnable : funkcja do wykonania dla wszystkich działań, które wymagają wyczyszczenia przed zakończeniem procesu w normalnym środowisku na końcu testu. Może być puste. |
timeoutMs |
long : czas oczekiwania w milisekundach na zakończenie procesu |
Zwroty |
AutoCloseable |
Obiekt, który ponownie zabija proces po zamknięciu
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
Zabijanie procesu na początku i na końcu testu.
Parametry |
device |
ITestDevice : urządzenie, którego chcesz używać |
pgrepRegex |
String : wzór nazwy procesu do zabicia, który ma zostać przekazany do pgrep |
beforeCloseKill |
Runnable : funkcja do wykonania dla wszystkich działań, które wymagają wyczyszczenia przed zakończeniem procesu w normalnym środowisku na końcu testu. Może być puste. |
Zwroty |
AutoCloseable |
Obiekt, który ponownie zabija proces po zamknięciu
|