ProcesUtil

public final class ProcessUtil
extends Object

Obiekt Java.lang.Object
com.android.sts.common.ProcessUtil


Różni pomocnicy do wyszukiwania, czekania i zabijania procesów na urządzeniu

Streszczenie

Zagnieżdżone klasy

class ProcessUtil.KillException

Stałe

long PROCESS_POLL_PERIOD_MS

long PROCESS_WAIT_TIMEOUT_MS

Metody publiczne

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

Zwraca wpis pierwszego pliku załadowanego przez określony proces o określonej nazwie

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

Zwraca nazwy określonego pliku, załadowane 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 zakończenie.

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

Wyślij sygnał do procesu i poczekaj na jego zakończenie.

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

Zwraca aktualnie otwarte nazwy plików określonego procesu.

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

Uzyskaj pojedynczy 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)

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 zostanie znaleziony działający proces.

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

Poczekaj, aż dla danego wyrażenia regularnego zostanie znaleziony działający proces.

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

Zabij proces na początku i na końcu testu.

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

Zabij proces 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 pierwszego pliku załadowanego przez określony proces o określonej nazwie

Parametry
device ITestDevice : urządzenie, na którym ma zostać uruchomione

process String : wzorzec procesu pgrep, którego należy szukać

filenameSubstr String : część nazwy pliku/ścieżki ładowana przez proces

Zwroty
Optional<IFileEntry> Opcjonalna wartość IFileEntry ścieżki pliku na urządzeniu, jeśli istnieje.

Rzuca
DeviceNotAvailableException

findFilesLoadedByProcess

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

Zwraca nazwy określonego pliku, załadowane przez określony proces.

Parametry
device ITestDevice : urządzenie, na którym ma zostać uruchomione

pid int : identyfikator procesu do przeszukania

filePattern Pattern : wzór nazw plików do zwrócenia

Zwroty
Optional<List<String>> Opcjonalny filtrowanych plików; pusty, jeśli nie znaleziono procesu lub nie można było odczytać otwartych plików.

Rzuca
DeviceNotAvailableException

pobierzNazwęProcesu

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 ma zostać pobrana nazwa

Zwroty
Optional<String> opcjonalny ciąg zawartości /proc/pid/cmdline; pusty, jeśli nie można znaleźć pid

Rzuca
DeviceNotAvailableException

zabić wszystkich

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 reprezentujący wyrażenie regularne dla pgrep

timeoutMs long : jak długo należy czekać przed zgłoszeniem wyjątku TimeoutException

expectExist boolean : czy powinien zostać zgłoszony wyjątek, gdy żaden proces nie został zabity

Zwroty
boolean czy jakiekolwiek procesy zostały zabite

Rzuca
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

zabić wszystkich

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 reprezentujący wyrażenie regularne dla pgrep

timeoutMs long : jak długo należy czekać przed zgłoszeniem wyjątku TimeoutException

Zwroty
boolean czy jakiekolwiek procesy zostały zabite

Rzuca
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

zabijPid

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

Wyślij SIGKILL do procesu i poczekaj na jego zakończenie.

Parametry
device ITestDevice : urządzenie, którego chcesz używać

pid int : identyfikator procesu, który ma czekać na zakończenie

timeoutMs long : jak długo należy czekać przed zgłoszeniem wyjątku TimeoutException

Rzuca
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

zabijPid

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

Wyślij sygnał do procesu i poczekaj na jego zakończenie.

Parametry
device ITestDevice : urządzenie, którego chcesz używać

pid int : identyfikator procesu, który ma czekać na zakończenie

signal int : sygnał do wysłania do procesu

timeoutMs long : jak długo należy czekać przed zgłoszeniem wyjątku TimeoutException

Rzuca
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

listaOpenFiles

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

Zwraca aktualnie otwarte nazwy plików określonego procesu.

Parametry
device ITestDevice : urządzenie, na którym ma zostać uruchomione

pid int : identyfikator procesu do przeszukania

Zwroty
Optional<List<String>> opcjonalny spośród otwartych plików; pusty, jeśli nie znaleziono procesu lub nie można było odczytać otwartych plików.

Rzuca
DeviceNotAvailableException

pidOf

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

Uzyskaj pojedynczy pid pasujący do wzorca przekazanego do `pgrep`. Zgłoś wyjątek IllegalArgumentException , jeśli istnieje więcej niż jeden PID pasujący do wzorca.

Parametry
device ITestDevice : urządzenie, którego chcesz użyć

pgrepRegex String : ciąg reprezentujący wyrażenie regularne dla pgrep

Zwroty
Optional<Integer> opcjonalna liczba całkowita pid; pusty, jeśli pgrep nie zwrócił EXIT_SUCCESS

Rzuca
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

Pobierz pidy pasujące do wzorca przekazanego do `pgrep`. Ponieważ /proc/pid/comm jest obcięty, `pgrep` jest przekazywane z `-f`, aby sprawdzić pełną linię poleceń.

Parametry
device ITestDevice : urządzenie, którego chcesz użyć

pgrepRegex String : ciąg reprezentujący wyrażenie regularne dla pgrep

Zwroty
Optional<Map<Integer, String>> Opcjonalna mapa pid do linii poleceń; pusty, jeśli pgrep nie zwrócił EXIT_SUCCESS

Rzuca
DeviceNotAvailableException

czekajPidExited

public static void waitPidExited (ITestDevice device, 
                int pid)

Poczekaj na zakończenie procesu. To nie jest czekanie, aż się zmieni, ale po prostu nieistnienie. Możliwe jest, choć mało prawdopodobne, ponowne użycie identyfikatora pid pomiędzy ankietami

Parametry
device ITestDevice : urządzenie, którego chcesz użyć

pid int : identyfikator procesu, który ma czekać na zakończenie

Rzuca
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

czekajPidExited

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

Poczekaj na zakończenie procesu. To nie jest czekanie, aż się zmieni, ale po prostu nieistnienie. Możliwe jest, choć mało prawdopodobne, ponowne użycie identyfikatora pid pomiędzy ankietami

Parametry
device ITestDevice : urządzenie, którego chcesz użyć

pid int : identyfikator procesu, który ma czekać na zakończenie

timeoutMs long : jak długo należy czekać przed zgłoszeniem wyjątku TimeoutException

Rzuca
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

WaitProcessRunning

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

Poczekaj, aż dla danego wyrażenia regularnego zostanie znaleziony działający proces.

Parametry
device ITestDevice : urządzenie, którego chcesz użyć

pgrepRegex String : ciąg reprezentujący wyrażenie regularne dla pgrep

timeoutMs long : jak długo należy czekać przed zgłoszeniem wyjątku TimeoutException

Zwroty
Map<Integer, String> pid do polecenia map z pidsOf(...)

Rzuca
TimeoutException
DeviceNotAvailableException

WaitProcessRunning

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

Poczekaj, aż dla danego wyrażenia regularnego zostanie znaleziony działający proces.

Parametry
device ITestDevice : urządzenie, którego chcesz używać

pgrepRegex String : ciąg reprezentujący wyrażenie regularne dla pgrep

Zwroty
Map<Integer, String> pid do polecenia map z pidsOf(...)

Rzuca
TimeoutException
DeviceNotAvailableException

z ProcessKill

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

Zabij 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 i przekazany pgrepowi

beforeCloseKill Runnable : uruchamialny dla wszelkich działań, które wymagają oczyszczenia przed zakończeniem procesu w normalnym środowisku na koniec testu. Może mieć wartość zerową.

timeoutMs long : jak długo w milisekundach należy czekać na zakończenie procesu

Zwroty
AutoCloseable Obiekt, który ponownie zabije proces po jego zamknięciu

Rzuca
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

z ProcessKill

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

Zabij 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 i przekazany pgrepowi

beforeCloseKill Runnable : uruchamialny dla wszelkich działań, które wymagają oczyszczenia przed zakończeniem procesu w normalnym środowisku na koniec testu. Może mieć wartość zerową.

Zwroty
AutoCloseable Obiekt, który ponownie zabije proces po jego zamknięciu

Rzuca
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException