ProcessUtil

public final class ProcessUtil
extends Object

java.lang.Object
😎 com.android.sts.common.ProcessUtil


Verschiedene Hilfsfunktionen zum Suchen, Warten und Beenden von Prozessen auf dem Gerät

Zusammenfassung

Verschachtelte Klassen

class ProcessUtil.KillException

 

Konstanten

long PROCESS_POLL_PERIOD_MS

long PROCESS_WAIT_TIMEOUT_MS

Öffentliche Methoden

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

Gibt den Dateieintrag der ersten Datei mit dem angegebenen Namen zurück, die durch den angegebenen Prozess geladen wurde

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

Gibt Dateinamen der angegebenen Datei zurück, die durch den angegebenen Prozess geladen wurde.

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

Rufen Sie den Inhalt von /proc/pid/cmdline ab.

static boolean killAll(ITestDevice device, String pgrepRegex, long timeoutMs, boolean expectExist)

Senden Sie SIGKILL an alle Prozesse, die einem Muster entsprechen.

static boolean killAll(ITestDevice device, String pgrepRegex, long timeoutMs)

Senden Sie SIGKILL an alle Prozesse, die einem Muster entsprechen.

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

Senden Sie SIGKILL an einen Prozess und warten Sie, bis er beendet wird.

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

Signal an einen Prozess senden und warten, bis er beendet wird.

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

Gibt die Namen der aktuell geöffneten Dateien des angegebenen Prozesses zurück.

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

Ruft eine einzelne PID ab, die einem an "pgrep" übergebenen Muster entspricht.

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

Die PIDs abrufen, die einem an "pgrep" übergebenen Muster entsprechen.

static void waitPidExited(ITestDevice device, int pid)

Warten Sie, bis ein Prozess beendet wurde.

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

Warten Sie, bis ein Prozess beendet wurde.

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

Warten Sie, bis ein laufender Prozess für einen bestimmten regulären Ausdruck gefunden wurde.

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

Warten Sie, bis ein laufender Prozess für einen bestimmten regulären Ausdruck gefunden wurde.

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

Beenden Sie einen Prozess am Anfang und am Ende eines Tests.

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

Beenden Sie einen Prozess am Anfang und am Ende eines Tests.

Konstanten

PROZESS_POLL_PERIOD_MS

public static final long PROCESS_POLL_PERIOD_MS

Konstantenwert: 250 (0x00000000000000fa)

PROZESS_WARTE_TIMEOUT_MS

public static final long PROCESS_WAIT_TIMEOUT_MS

Konstantenwert: 10.000 (0x0000000000002710)

Öffentliche Methoden

findFileLoadedByProcess

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

Gibt den Dateieintrag der ersten Datei mit dem angegebenen Namen zurück, die durch den angegebenen Prozess geladen wurde

Parameter
device ITestDevice: Gerät, auf dem ausgeführt werden soll

process String: pgrep-Prozessmuster, nach dem gesucht werden soll

filenameSubstr String: Teil des Dateinamens/-pfads, der vom Prozess geladen wird

Returns
Optional<IFileEntry> Ein Opotional von IFileEntry des Dateipfads auf dem Gerät, sofern vorhanden.

Ausgabe
DeviceNotAvailableException

findFilesLoadedByProcess

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

Gibt Dateinamen der angegebenen Datei zurück, die durch den angegebenen Prozess geladen wurde.

Parameter
device ITestDevice: Gerät, auf dem ausgeführt werden soll

pid int: die ID des zu suchenden Prozesses

filePattern Pattern: ein Muster der zurückzugebenden Dateinamen

Returns
Optional<List<String>> ein Optional der gefilterten Dateien; leer, wenn der Prozess nicht gefunden wurde oder das offene Dateien konnten nicht gelesen werden.

Ausgabe
DeviceNotAvailableException

getProcessName

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

Rufen Sie den Inhalt von /proc/pid/cmdline ab.

Parameter
device ITestDevice: das zu verwendende Gerät

pid int: die ID des Prozesses, für den der Name abgerufen werden soll

Returns
Optional<String> einen optionalen String des Inhalts von /proc/pid/cmdline; leer, wenn die PID nicht gefunden werden

Ausgabe
DeviceNotAvailableException

killAll

public static boolean killAll (ITestDevice device, 
                String pgrepRegex, 
                long timeoutMs, 
                boolean expectExist)

Senden Sie SIGKILL an alle Prozesse, die einem Muster entsprechen.

Parameter
device ITestDevice: das zu verwendende Gerät

pgrepRegex String: String, der den regulären Ausdruck für pgrep darstellt

timeoutMs long: Wartezeit, bevor eine TimeoutException ausgelöst wird

expectExist boolean: ob eine Ausnahme ausgelöst werden soll, wenn keine Prozesse beendet wurden

Returns
boolean ob Prozesse beendet wurden

Ausgabe
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killAll

public static boolean killAll (ITestDevice device, 
                String pgrepRegex, 
                long timeoutMs)

Senden Sie SIGKILL an alle Prozesse, die einem Muster entsprechen.

Parameter
device ITestDevice: das zu verwendende Gerät

pgrepRegex String: String, der den regulären Ausdruck für pgrep darstellt

timeoutMs long: Wartezeit, bevor eine TimeoutException ausgelöst wird

Returns
boolean ob Prozesse beendet wurden

Ausgabe
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

KillPid

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

Senden Sie SIGKILL an einen Prozess und warten Sie, bis er beendet wird.

Parameter
device ITestDevice: das zu verwendende Gerät

pid int: die ID des Prozesses, der gewartet wird, bis er beendet wird

timeoutMs long: Wartezeit, bevor eine TimeoutException ausgelöst wird

Ausgabe
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

KillPid

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

Signal an einen Prozess senden und warten, bis er beendet wird.

Parameter
device ITestDevice: das zu verwendende Gerät

pid int: die ID des Prozesses, der gewartet wird, bis er beendet wird

signal int: das Signal, das an den Prozess gesendet werden soll

timeoutMs long: Wartezeit, bevor eine TimeoutException ausgelöst wird

Ausgabe
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

listOpenFiles (Dateien öffnen)

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

Gibt die Namen der aktuell geöffneten Dateien des angegebenen Prozesses zurück.

Parameter
device ITestDevice: Gerät, auf dem ausgeführt werden soll

pid int: die ID des zu suchenden Prozesses

Returns
Optional<List<String>> ein Optional der geöffneten Dateien; leer, wenn der Prozess nicht gefunden wurde oder die geöffneten Dateien konnte nicht gelesen werden.

Ausgabe
DeviceNotAvailableException

pidOf

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

Ruft eine einzelne PID ab, die einem an "pgrep" übergebenen Muster entspricht. Ein IllegalArgumentException wird ausgelöst, wenn mehr als eine PID mit dem Muster übereinstimmt.

Parameter
device ITestDevice: das zu verwendende Gerät

pgrepRegex String: String, der den regulären Ausdruck für pgrep darstellt

Returns
Optional<Integer> Eine optionale Ganzzahl der pid; leer, wenn pgrep nicht EXIT_SUCCESS zurückgegeben hat

Ausgabe
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

Die PIDs abrufen, die einem an "pgrep" übergebenen Muster entsprechen. Da /proc/pid/comm abgeschnitten ist, „pgrep“ wird mit „-f“ übergeben, um die vollständige Befehlszeile zu prüfen.

Parameter
device ITestDevice: das zu verwendende Gerät

pgrepRegex String: String, der den regulären Ausdruck für pgrep darstellt

Returns
Optional<Map<Integer, String>> eine optionale Zuordnung von pid zur Befehlszeile; leer, wenn pgrep nicht EXIT_SUCCESS zurückgegeben hat

Ausgabe
DeviceNotAvailableException

WaitPidExited (WartePidExited)

public static void waitPidExited (ITestDevice device, 
                int pid)

Warten Sie, bis ein Prozess beendet wurde. Es wird nicht darauf gewartet, dass sich etwas ändert, nicht vorhanden. Es ist möglich, aber unwahrscheinlich, dass eine pid zwischen Abfragen wiederverwendet wird.

Parameter
device ITestDevice: das zu verwendende Gerät

pid int: die ID des Prozesses, der gewartet wird, bis er beendet wird

Ausgabe
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

WaitPidExited (WartePidExited)

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

Warten Sie, bis ein Prozess beendet wurde. Es wird nicht darauf gewartet, dass sich etwas ändert, nicht vorhanden. Es ist möglich, aber unwahrscheinlich, dass eine pid zwischen Abfragen wiederverwendet wird.

Parameter
device ITestDevice: das zu verwendende Gerät

pid int: die ID des Prozesses, der gewartet wird, bis er beendet wird

timeoutMs long: Wartezeit, bevor eine TimeoutException ausgelöst wird

Ausgabe
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

WaitProcessRunning

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

Warten Sie, bis ein laufender Prozess für einen bestimmten regulären Ausdruck gefunden wurde.

Parameter
device ITestDevice: das zu verwendende Gerät

pgrepRegex String: String, der den regulären Ausdruck für pgrep darstellt

timeoutMs long: Wartezeit, bevor eine TimeoutException ausgelöst wird

Returns
Map<Integer, String> die PID für die Befehlszuordnung von pidsOf(...)

Ausgabe
TimeoutException
DeviceNotAvailableException

WaitProcessRunning

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

Warten Sie, bis ein laufender Prozess für einen bestimmten regulären Ausdruck gefunden wurde.

Parameter
device ITestDevice: das zu verwendende Gerät

pgrepRegex String: String, der den regulären Ausdruck für pgrep darstellt

Returns
Map<Integer, String> die PID für die Befehlszuordnung von pidsOf(...)

Ausgabe
TimeoutException
DeviceNotAvailableException

withProcessKill

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

Beenden Sie einen Prozess am Anfang und am Ende eines Tests.

Parameter
device ITestDevice: das zu verwendende Gerät

pgrepRegex String: das Namensmuster des Prozesses, der an pgrep übergeben werden soll

beforeCloseKill Runnable: kann für alle Aktionen ausgeführt werden, die vor dem Beenden der in einer normalen Umgebung. Kann null sein.

timeoutMs long: wie lange in Millisekunden gewartet wird, bis der Prozess beendet ist

Returns
AutoCloseable Ein Objekt, das den Prozess wieder beendet, wenn er geschlossen wird

Ausgabe
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

withProcessKill

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

Beenden Sie einen Prozess am Anfang und am Ende eines Tests.

Parameter
device ITestDevice: das zu verwendende Gerät

pgrepRegex String: das Namensmuster des Prozesses, der an pgrep übergeben werden soll

beforeCloseKill Runnable: kann für alle Aktionen ausgeführt werden, die vor dem Beenden der in einer normalen Umgebung. Kann null sein.

Returns
AutoCloseable Ein Objekt, das den Prozess wieder beendet, wenn er geschlossen wird

Ausgabe
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException