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

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

Rzuty
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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.

Rzuty
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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

Rzuty
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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

Rzuty
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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

Rzuty
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

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

Rzuty
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

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

Rzuty
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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

Rzuty
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException