Süreç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 geçmiş 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 işlem tarafından belirtilen adla yüklenen ilk dosyanın dosya girişini döndürür

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

Belirtilen işlem tarafından yüklenen, belirtilen dosyanın 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 kalıpla eşleşen tüm işlemlere gönderin.

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

SIGKILL'i bir kalıpla 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 çıkılmasını bekleyin.

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

Bir işleme sinyal gönderin ve çıkılması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 aktarılan bir kalıpla eşleşen tek bir pid alın.

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

'Pgrep'e aktarılan bir kalıpla eşleşen pid'leri 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)

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

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

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 işlem tarafından belirtilen adla 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 modeli

filenameSubstr String : işlem tarafından yüklenen dosya adının/yolunun bir kısmı

İadeler
Optional<IFileEntry> Varsa, aygıttaki dosyanın yolunun isteğe bağlı bir IFileEntry'si.

Atar
DeviceNotAvailableException

findFilesLoadedByProcess

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

Belirtilen işlem tarafından yüklenen, belirtilen dosyanın 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>> Filtrelenen dosyaların isteğ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ın alınacağı işlemin kimliği

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

Atar
DeviceNotAvailableException

hepsini öldür

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

SIGKILL'i bir kalıpla 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 : TimeoutException oluşturmadan önce ne kadar bekleneceği

expectExist boolean : hiçbir işlem öldürülmediğinde bir istisna atılıp atılmayacağı

İ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 kalıpla 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 : TimeoutException oluşturmadan önce ne kadar bekleneceği

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

Atar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

öldürPid

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

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

Parametreler
device ITestDevice : kullanılacak cihaz

pid int : çıkılana kadar beklenecek işlemin kimliği

timeoutMs long : TimeoutException oluşturmadan önce ne kadar bekleneceği

Atar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

öldürPid

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

Bir işleme sinyal gönderin ve çıkılmasını bekleyin.

Parametreler
device ITestDevice : kullanılacak cihaz

pid int : çıkılana kadar beklenecek işlemin kimliği

signal int : sürece gönderilecek sinyal

timeoutMs long : TimeoutException oluşturmadan önce ne kadar bekleneceği

Atar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

listAçıkDosyalar

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 dosyaların isteğ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 aktarılan bir kalıpla eşleşen tek bir pid alın. Desenle 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 İsteğe Bağlı Tam Sayısı; pgrep EXIT_SUCCESS değerini döndürmediyse boş

Atar
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

'Pgrep'e aktarılan bir kalıpla eşleşen pid'leri alın. /proc/pid/comm kısaltılmış olduğundan, tüm komut satırını kontrol etmek için 'pgrep' '-f' ile iletilir.

Parametreler
device ITestDevice : kullanılacak cihaz

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

İadeler
Optional<Map<Integer, String>> Komut satırına isteğe bağlı bir pid haritası; pgrep EXIT_SUCCESS değerini döndürmediyse boş

Atar
DeviceNotAvailableException

waitPidÇıkıldı

public static void waitPidExited (ITestDevice device, 
                int pid)

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

Parametreler
device ITestDevice : kullanılacak cihaz

pid int : çıkılana kadar beklenecek işlemin kimliği

Atar
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitPidÇıkıldı

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

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

Parametreler
device ITestDevice : kullanılacak cihaz

pid int : çıkılana kadar beklenecek işlemin kimliği

timeoutMs long : TimeoutException oluşturmadan önce ne kadar bekleneceği

Atar
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitProcessRunning

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 : TimeoutException oluşturmadan önce ne kadar bekleneceği

İadeler
Map<Integer, String> pidsOf(...)'tan pid'den komut haritasına

Atar
TimeoutException
DeviceNotAvailableException

waitProcessRunning

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(...)'tan pid'den komut haritasına

Atar
TimeoutException
DeviceNotAvailableException

ProcessKill ile

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

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

Parametreler
device ITestDevice : kullanılacak cihaz

pgrepRegex String : pgrep'e verilecek öldürülecek sürecin isim modeli

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ürülmesi için milisaniye cinsinden ne kadar süre bekleneceği

İadeler
AutoCloseable Kapatıldığında işlemi tekrar sonlandıracak bir nesne

Atar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

ProcessKill ile

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

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

Parametreler
device ITestDevice : kullanılacak cihaz

pgrepRegex String : pgrep'e verilecek öldürülecek sürecin isim modeli

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 sonlandıracak bir nesne

Atar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException