İşlemUtil

public final class ProcessUtil
extends Object

Java.lang.Nesne
🎃 com.android.sts.common.ProcessUtil


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

Özet

İç içe yerleştirilmiş sınıflar

class ProcessUtil.KillException

 

Sabitler

long PROCESS_POLL_PERIOD_MS

long PROCESS_WAIT_TIMEOUT_MS

Herkese açık yöntemler

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

Belirtilen işlem tarafından yüklenen ve belirtilen ada sahip 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 konumundan alın.

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

SIGKILL öğesini belirli bir kalıpla eşleşen tüm işlemlere gönder.

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

SIGKILL öğesini belirli bir kalıpla eşleşen tüm işlemlere gönder.

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

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

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

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

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

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

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

"pgrep"e geçirilen kalıpla eşleşen tek bir pid alın.

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

"pgrep"e geçirilen bir kalıpla eşleşen Pgrep'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

İŞLEME_POLL_PERIOD_MS

public static final long PROCESS_POLL_PERIOD_MS

Sabit Değer: 250 (0x00000000000000fa)

İŞLEM_WAIT_TIMEOUT_MS

public static final long PROCESS_WAIT_TIMEOUT_MS

Sabit Değer: 10.000 (0x0000000000002710)

Herkese açık yöntemler

findFileLoadedByProcess

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

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

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

process String: aranacak işlemin pgrep kalıbı

filenameSubstr String: işlem tarafından yüklenen dosya adının/yolunun bir bölümü

İlerlemeler
Optional<IFileEntry> Varsa cihazdaki dosyanın yolunun IFileEntry bilgisi.

Fırlatma
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: arama işleminin kimliği

filePattern Pattern: Döndürülecek dosya adlarının kalıbı

İlerlemeler
Optional<List<String>> Filtrelenmiş dosyalar için İsteğe bağlı bir seçenek; işlem bulunmadıysa veya dosya açıksa boş dosya okunamadı.

Fırlatma
DeviceNotAvailableException

getProcessAdı

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

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

Parametreler
device ITestDevice: kullanılacak cihaz

pid int: adını alma işleminin kimliği

İlerlemeler
Optional<String> /proc/pid/cmdline içeriği için İsteğe Bağlı Bir Dize; pid bulunabilir

Fırlatma
DeviceNotAvailableException

öldürTümünü

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

SIGKILL öğesini belirli bir kalıpla eşleşen tüm işlemlere gönder.

Parametreler
device ITestDevice: kullanılacak cihaz

pgrepRegex String: pgrep normal ifadesini temsil eden bir dize

timeoutMs long: AliasException hatası vermeden önce ne kadar süre beklenilir?

expectExist boolean: Hiçbir işlem sonlandırılmadığında bir istisnanın atılıp atılmayacağı

İlerlemeler
boolean herhangi bir işlemin sonlandırılıp sonlandırılmadığı

Fırlatma
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

öldürTümünü

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

SIGKILL öğesini belirli bir kalıpla eşleşen tüm işlemlere gönder.

Parametreler
device ITestDevice: kullanılacak cihaz

pgrepRegex String: pgrep normal ifadesini temsil eden bir dize

timeoutMs long: AliasException hatası vermeden önce ne kadar süre beklenilir?

İlerlemeler
boolean herhangi bir işlemin sonlandırılıp sonlandırılmadığı

Fırlatma
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

KillPid

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

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

Parametreler
device ITestDevice: kullanılacak cihaz

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

timeoutMs long: AliasException hatası vermeden önce ne kadar süre beklenilir?

Fırlatma
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

KillPid

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

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

Parametreler
device ITestDevice: kullanılacak cihaz

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

signal int: işleme gönderilecek sinyal

timeoutMs long: AliasException hatası vermeden önce ne kadar süre beklenilir?

Fırlatma
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

listOpenFiles

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

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

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

pid int: arama işleminin kimliği

İlerlemeler
Optional<List<String>> Açık dosyalar için İsteğe bağlı; İşlem bulunmadıysa veya açık dosyalar boşsa okunamadı.

Fırlatma
DeviceNotAvailableException

pidOf

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

"pgrep"e geçirilen kalıpla eşleşen tek bir pid alın. Kalıbla eşleşen birden fazla PID olduğunda IllegalArgumentException atın.

Parametreler
device ITestDevice: kullanılacak cihaz

pgrepRegex String: pgrep normal ifadesini temsil eden bir dize

İlerlemeler
Optional<Integer> pid'in İsteğe Bağlı Tam Sayısı; pgrep, Çıkış_BAŞARILI sonucu döndürmediyse boş

Fırlatma
DeviceNotAvailableException
IllegalArgumentException

pds

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

"pgrep"e geçirilen bir kalıpla eşleşen p'leri alın. /proc/pid/comm kısaltıldığından, "pgrep", tam komut satırının kontrol edilmesi için "-f" ile iletilir.

Parametreler
device ITestDevice: kullanılacak cihaz

pgrepRegex String: pgrep normal ifadesini temsil eden bir dize

İlerlemeler
Optional<Map<Integer, String>> İsteğe bağlı pid'den komut satırına eşleme; pgrep, Çıkış_BAŞARILI sonucu döndürmediyse boş

Fırlatma
DeviceNotAvailableException

WaitPidÇıkıldı

public static void waitPidExited (ITestDevice device, 
                int pid)

Bir işlemden çıkılmasını bekleyin. Bu, değişikliğin yapılmasını beklemek değil, var olmamıştır. Bir Pid'in anketler arasında tekrar kullanılması mümkün olsa da düşük bir ihtimaldir

Parametreler
device ITestDevice: kullanılacak cihaz

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

Fırlatma
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, değişikliğin yapılmasını beklemek değil, var olmamıştır. Bir Pid'in anketler arasında tekrar kullanılması mümkün olsa da düşük bir ihtimaldir

Parametreler
device ITestDevice: kullanılacak cihaz

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

timeoutMs long: AliasException hatası vermeden önce ne kadar süre beklenilir?

Fırlatma
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 normal ifadesini temsil eden bir dize

timeoutMs long: AliasException hatası vermeden önce ne kadar süre beklenilir?

İlerlemeler
Map<Integer, String> pidsOf(...) öğesinden komut eşleme pid'si

Fırlatma
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 normal ifadesini temsil eden bir dize

İlerlemeler
Map<Integer, String> pidsOf(...) öğesinden komut eşleme pid'si

Fırlatma
TimeoutException
DeviceNotAvailableException

withProcessKill

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 vermek için sonlandırılacak işlemin ad kalıbı

beforeCloseKill Runnable: sondaki çalıştırmadan önce temizlenmesi gereken tüm işlemler için çalıştırılabilir olması gerekir. Boş olabilir.

timeoutMs long: işlemin sonlandırılması için beklenecek milisaniye cinsinden süre

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

Fırlatma
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

withProcessKill

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 vermek için sonlandırılacak işlemin ad kalıbı

beforeCloseKill Runnable: sondaki çalıştırmadan önce temizlenmesi gereken tüm işlemler için çalıştırılabilir olması gerekir. Boş olabilir.

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

Fırlatma
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException