İşlem Util

public final class ProcessUtil
extends Object

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


Cihazdaki işlemleri bulmak, beklemek ve sonlandırmak için çeşitli yardımcılar

Özet

İç içe sınıflar

class ProcessUtil.KillException

Sabitler

long PROCESS_POLL_PERIOD_MS

long PROCESS_WAIT_TIMEOUT_MS

Genel yöntemler

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

Belirtilen adla belirtilen işlem tarafından yüklenen ilk dosyanın dosya girişini döndürür

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

Belirtilen dosyanın, belirtilen işlem tarafından yüklenen dosya adlarını döndürür.

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

İçeriği /proc/pid/cmdline'dan alın.

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

SIGKILL'i bir modelle eşleşen tüm işlemlere gönderin.

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

SIGKILL'i bir modelle eşleşen tüm işlemlere gönderin.

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

SIGKILL'i bir işleme gönderin ve çıkmasını bekleyin.

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

Bir işleme bir sinyal gönderin ve ondan çıkmasını bekleyin.

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

Belirtilen işlemin şu anda açık olan dosya adlarını döndürür.

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

"pgrep"e iletilen bir kalıpla eşleşen tek bir pid alın.

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

`pgrep`e iletilen bir kalıpla eşleşen pidleri alın.

static void waitPidExited (ITestDevice device, int pid)

Bir işlemden çıkılmasını bekleyin.

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

Bir işlemden çıkılmasını bekleyin.

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

Belirli bir normal ifade için çalışan bir işlem bulunana kadar bekleyin.

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

Belirli bir normal ifade için çalışan bir işlem bulunana kadar bekleyin.

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

Bir testin başında ve sonunda bir işlemi sonlandırın.

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

Bir testin başında ve sonunda bir işlemi sonlandırın.

Sabitler

PROCESS_POLL_PERIOD_MS

public static final long PROCESS_POLL_PERIOD_MS

Sabit Değer: 250 (0x00000000000000fa)

PROCESS_WAIT_TIMEOUT_MS

public static final long PROCESS_WAIT_TIMEOUT_MS

Sabit Değer: 10000 (0x0000000000002710)

Genel yöntemler

findFileLoadedByProcess

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

Belirtilen adla belirtilen işlem tarafından yüklenen ilk dosyanın dosya girişini döndürür

parametreler
device ITestDevice : çalıştırılacak cihaz

process String : aranacak sürecin pgrep kalıbı

filenameSubstr String : süreç tarafından yüklenen dosya adının/yolun parçası

İadeler
Optional<IFileEntry> varsa, aygıttaki dosyanın yolunun bir IFileEntry Opsiyonel'i.

Atar
DeviceNotAvailableException

findFilesLoadedByProcess

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

Belirtilen dosyanın, belirtilen işlem tarafından yüklenen dosya adlarını döndürür.

parametreler
device ITestDevice : çalıştırılacak cihaz

pid int : aranacak sürecin kimliği

filePattern Pattern : döndürülecek dosya adlarının bir modeli

İadeler
Optional<List<String>> filtrelenmiş dosyalardan bir İsteğe bağlı; işlem bulunamadıysa veya açık dosyalar okunamadıysa boş.

Atar
DeviceNotAvailableException

getProcessName

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

İçeriği /proc/pid/cmdline'dan alın.

parametreler
device ITestDevice : kullanılacak cihaz

pid int : adını almak için sürecin kimliği

İadeler
Optional<String> /proc/pid/cmdline içeriğinin İsteğe Bağlı Dizisi; pid bulunamadıysa boş

Atar
DeviceNotAvailableException

hepsini öldür

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

SIGKILL'i bir modelle eşleşen tüm işlemlere gönderin.

parametreler
device ITestDevice : kullanılacak cihaz

pgrepRegex String : pgrep için normal ifadeyi temsil eden bir String

timeoutMs long : bir TimeoutException atmadan önce ne kadar beklenecek

expectExist boolean : hiçbir işlem öldürülmediğinde bir istisna atılması gerekip gerekmediği

İadeler
boolean herhangi bir işlemin öldürülüp öldürülmediği

Atar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

hepsini öldür

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

SIGKILL'i bir modelle eşleşen tüm işlemlere gönderin.

parametreler
device ITestDevice : kullanılacak cihaz

pgrepRegex String : pgrep için normal ifadeyi temsil eden bir String

timeoutMs long : bir TimeoutException atmadan önce ne kadar beklenecek

İadeler
boolean herhangi bir işlemin öldürülüp öldürülmediği

Atar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

öldürmePid

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

SIGKILL'i bir işleme gönderin ve çıkmasını bekleyin.

parametreler
device ITestDevice : kullanılacak cihaz

pid int : çıkılana kadar beklenecek sürecin kimliği

timeoutMs long : bir TimeoutException atmadan önce ne kadar beklenecek

Atar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

öldürmePid

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

Bir işleme bir sinyal gönderin ve ondan çıkmasını bekleyin.

parametreler
device ITestDevice : kullanılacak cihaz

pid int : çıkılana kadar beklenecek sürecin kimliği

signal int : sürece gönderilecek sinyal

timeoutMs long : bir TimeoutException atmadan önce ne kadar beklenecek

Atar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

listOpenFiles

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

Belirtilen işlemin şu anda açık olan dosya adlarını döndürür.

parametreler
device ITestDevice : çalıştırılacak cihaz

pid int : aranacak sürecin kimliği

İadeler
Optional<List<String>> açık dosyalardan bir İsteğe bağlı; işlem bulunamadıysa veya açık dosyalar okunamadıysa boş.

Atar
DeviceNotAvailableException

pidOf

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

"pgrep"e iletilen bir kalıpla eşleşen tek bir pid alın. Modelle eşleşen birden fazla PID olduğunda bir IllegalArgumentException atın.

parametreler
device ITestDevice : kullanılacak cihaz

pgrepRegex String : pgrep için normal ifadeyi temsil eden bir String

İadeler
Optional<Integer> pid'in bir İsteğe Bağlı Tamsayı; pgrep EXIT_SUCCESS döndürmezse boş

Atar
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

`pgrep`e iletilen bir kalıpla eşleşen pidleri alın. /proc/pid/comm kısaltılmış olduğundan, tam komut satırını kontrol etmek için "pgrep" -f ile geçirilir.

parametreler
device ITestDevice : kullanılacak cihaz

pgrepRegex String : pgrep için normal ifadeyi temsil eden bir String

İadeler
Optional<Map<Integer, String>> pid'den komut satırına İsteğe Bağlı Harita; pgrep EXIT_SUCCESS döndürmezse boş

Atar
DeviceNotAvailableException

waitPidExited

public static void waitPidExited (ITestDevice device, 
                int pid)

Bir işlemden çıkılmasını bekleyin. Bu onun değişmesini beklemek değil, basitçe varolmamak. Bir pid'in anketler arasında yeniden kullanılması mümkündür, ancak olası değildir.

parametreler
device ITestDevice : kullanılacak cihaz

pid int : çıkılana kadar beklenecek sürecin kimliği

Atar
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitPidExited

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

Bir işlemden çıkılmasını bekleyin. Bu onun değişmesini beklemek değil, basitçe varolmamak. Bir pid'in anketler arasında yeniden kullanılması mümkündür, ancak olası değildir.

parametreler
device ITestDevice : kullanılacak cihaz

pid int : çıkılana kadar beklenecek sürecin kimliği

timeoutMs long : bir TimeoutException atmadan önce ne kadar beklenecek

Atar
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

bekleİşlemÇalışıyor

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

Belirli bir normal ifade için çalışan bir işlem bulunana kadar bekleyin.

parametreler
device ITestDevice : kullanılacak cihaz

pgrepRegex String : pgrep için normal ifadeyi temsil eden bir String

timeoutMs long : bir TimeoutException atmadan önce ne kadar beklenecek

İadeler
Map<Integer, String> pidsOf(...) öğesinden komut eşlemesi için pid

Atar
TimeoutException
DeviceNotAvailableException

bekleİşlemÇalışıyor

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

Belirli bir normal ifade için çalışan bir işlem bulunana kadar bekleyin.

parametreler
device ITestDevice : kullanılacak cihaz

pgrepRegex String : pgrep için normal ifadeyi temsil eden bir String

İadeler
Map<Integer, String> pidsOf(...) öğesinden komut eşlemesi için pid

Atar
TimeoutException
DeviceNotAvailableException

ProcessKill ile

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

Bir testin başında ve sonunda bir işlemi sonlandırın.

parametreler
device ITestDevice : kullanılacak cihaz

pgrepRegex String : pgrep'e vermek için öldürme işleminin ad kalıbı

beforeCloseKill Runnable : testin sonunda normal bir ortamda işlemi sonlandırmadan önce temizlenmesi gereken tüm eylemler için çalıştırılabilir. boş olabilir.

timeoutMs long : işlemin öldürmesi için milisaniye olarak ne kadar beklenmesi gerekir

İadeler
AutoCloseable Kapatıldığında işlemi tekrar öldürecek bir nesne

Atar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

ProcessKill ile

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

Bir testin başında ve sonunda bir işlemi sonlandırın.

parametreler
device ITestDevice : kullanılacak cihaz

pgrepRegex String : pgrep'e vermek için öldürme işleminin ad kalıbı

beforeCloseKill Runnable : testin sonunda normal bir ortamda işlemi sonlandırmadan önce temizlenmesi gereken tüm eylemler için çalıştırılabilir. boş olabilir.

İadeler
AutoCloseable Kapatıldığında işlemi tekrar öldürecek bir nesne

Atar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException