ProcessUtil

public final class ProcessUtil
extends Object

java.lang.Obiekt
com.android.sts.common.ProcessUtil


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

Streszczenie

Klasy zagnieżdżone

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 pliku 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 plików 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ż zostanie znaleziony działający proces dla danego wyrażenia regularnego.

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

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

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

Stała wartość: 250 (0x00000000000000fa)

PROCESS_WAIT_TIMEOUT_MS

public static final long PROCESS_WAIT_TIMEOUT_MS

Stała wartość: 10000 (0x0000000000002710)

Metody publiczne

findFileLoadedByProcess

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

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

Parametry
device ITestDevice : urządzenie do uruchomienia

process String : wzorzec procesu pgrep do wyszukania

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

Zwroty
Optional<IFileEntry> Opotional of IFileEntry ścieżki 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, załadowane przez określony proces.

Parametry
device ITestDevice : urządzenie do uruchomienia

pid int : identyfikator procesu do wyszukania

filePattern Pattern : wzorzec nazw plików do zwrócenia

Zwroty
Optional<List<String>> Opcjonalny z filtrowanych plików; puste, jeśli proces nie został znaleziony lub nie można było odczytać otwartych plików.

Rzuty
DeviceNotAvailableException

getNazwaProcesu

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

Pobierz zawartość z /proc/pid/cmdline.

Parametry
device ITestDevice : urządzenie do użycia

pid int : identyfikator procesu, dla którego ma zostać uzyskana nazwa

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

Rzuty
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 do użycia

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

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

expectExist boolean : czy należy zgłaszać wyjątek, gdy żaden proces nie został zabity

Zwroty
boolean czy jakieś procesy zostały zabite

Rzuty
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 do użycia

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

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

Zwroty
boolean czy jakieś procesy zostały zabite

Rzuty
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

zabijPida

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 do użycia

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

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

Rzuty
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

zabijPida

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 do użycia

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

signal int : sygnał do wysłania do procesu

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

Rzuty
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

listaOtwartePliki

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

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

Parametry
device ITestDevice : urządzenie do uruchomienia

pid int : identyfikator procesu do wyszukania

Zwroty
Optional<List<String>> Opcjonalny z otwartych plików; puste, jeśli proces nie został znaleziony lub nie można było odczytać otwartych plików.

Rzuty
DeviceNotAvailableException

pidOf

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

Uzyskaj pojedynczy pid pasujący do wzorca przekazanego do `pgrep`. IllegalArgumentException , gdy istnieje więcej niż jeden PID pasujący do wzorca.

Parametry
device ITestDevice : urządzenie do użycia

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

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

Rzuty
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 obcinany, `pgrep` jest przekazywane z `-f` w celu sprawdzenia pełnego wiersza poleceń.

Parametry
device ITestDevice : urządzenie do użycia

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

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

Rzuty
DeviceNotAvailableException

WaitPid Zakończono

public static void waitPidExited (ITestDevice device, 
                int pid)

Poczekaj na zakończenie procesu. To nie jest czekanie, aż się zmieni, ale po prostu nieistnienie. Jest możliwe, ale mało prawdopodobne, aby pid był ponownie używany między sondami

Parametry
device ITestDevice : urządzenie do użycia

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

Rzuty
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

WaitPid Zakończono

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. Jest możliwe, ale mało prawdopodobne, aby pid był ponownie używany między sondami

Parametry
device ITestDevice : urządzenie do użycia

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

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

Rzuty
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

CzekajProcesUruchamia

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

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

Parametry
device ITestDevice : urządzenie do użycia

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

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

Zwroty
Map<Integer, String> pid do mapy poleceń z pidsOf(...)

Rzuty
TimeoutException
DeviceNotAvailableException

CzekajProcesUruchamia

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

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

Parametry
device ITestDevice : urządzenie do użycia

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

Zwroty
Map<Integer, String> pid do mapy poleceń z pidsOf(...)

Rzuty
TimeoutException
DeviceNotAvailableException

z procesem zabijania

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 do użycia

pgrepRegex String : wzorzec nazwy procesu do zabicia, aby przekazać pgrep

beforeCloseKill Runnable : Runnable dla wszelkich akcji, które wymagają oczyszczenia przed zabiciem procesu w normalnym środowisku na koniec testu. Może być zerowy.

timeoutMs long : jak długo w milisekundach czekać na zabicie procesu

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

Rzuty
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

z procesem zabijania

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 do użycia

pgrepRegex String : wzorzec nazwy procesu do zabicia, aby przekazać pgrep

beforeCloseKill Runnable : Runnable dla wszelkich akcji, które wymagają oczyszczenia przed zabiciem procesu w normalnym środowisku na koniec testu. Może być zerowy.

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

Rzuty
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException