ProcessUtil

public final class ProcessUtil
extends Object

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


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

Ö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 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 dosyanın dosya adlarını döndürür.

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

/proc/pid/cmdline dosyasından içeriği alın.

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

Bir desenle eşleşen tüm işlemlere SIGKILL gönderin.

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

Bir desenle eşleşen tüm işlemlere SIGKILL gönderin.

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

Bir işleme SIGKILL gönderin ve işlemin kapanmasını bekleyin.

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

Bir işleme sinyal gönderin ve işlemin kapatı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" komutuna iletilen bir kalıpla eşleşen tek bir pid alın.

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

"pgrep" komutuna iletilen bir kalıpla eşleşen pid'leri alın.

static void waitPidExited(ITestDevice device, int pid)

Bir işlemden çıkılmayı bekleyin.

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

Bir işlemden çıkılmayı 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 işlemin başlangıcında ve sonunda işlemi sonlandırabilirsiniz.

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

Bir işlemin başlangıcında ve sonunda işlemi sonlandırabilirsiniz.

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)

Herkese açık 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: Uygulamanın çalışacağı cihaz

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

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

İlerlemeler
Optional<IFileEntry> Varsa cihazdaki dosyanın yolunun IFileEntry seçeneği.

Atışlar
DeviceNotAvailableException

findFilesLoadedByProcess

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

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

Parametreler
device ITestDevice: Uygulamanın çalışacağı cihaz

pid int: Aratılacak işlemin kimliği

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

İlerlemeler
Optional<List<String>> Filtrelenmiş dosyaların isteğe bağlı özelliğidir. İşlem bulunamadıysa veya açık dosyalar okunamadıysa boş olur.

Atışlar
DeviceNotAvailableException

getProcessName

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

/proc/pid/cmdline dosyasından içeriği alın.

Parametreler
device ITestDevice: kullanılacak cihaz

pid int: Adını almak istediğiniz işlemin kimliği

İlerlemeler
Optional<String> /proc/pid/cmdline içeriğinin isteğe bağlı dizesi; pid bulunamazsa boş olur

Atışlar
DeviceNotAvailableException

killAll

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

Bir desenle eşleşen tüm işlemlere SIGKILL gönderin.

Parametreler
device ITestDevice: kullanılacak cihaz

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

timeoutMs long: TimeoutException atmadan önce ne kadar bekleyeceğiniz

expectExist boolean: Hiçbir işlem sonlandırılmadığında istisna oluşturulup oluşturulmayacağı

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

Atışlar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killAll

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

Bir desenle eşleşen tüm işlemlere SIGKILL gönderin.

Parametreler
device ITestDevice: kullanılacak cihaz

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

timeoutMs long: TimeoutException atmadan önce ne kadar bekleyeceğiniz

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

Atışlar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

Bir işleme SIGKILL gönderin ve işlemin kapanmasını bekleyin.

Parametreler
device ITestDevice: kullanılacak cihaz

pid int: Çıkış yapılana kadar beklemesi gereken sürecin kimliği

timeoutMs long: TimeoutException atmadan önce ne kadar bekleyeceğiniz

Atışlar
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şlemin kapatılmasını bekleyin.

Parametreler
device ITestDevice: kullanılacak cihaz

pid int: Çıkış yapılana kadar beklemesi gereken sürecin kimliği

signal int: İşleme gönderilecek sinyal

timeoutMs long: TimeoutException atmadan önce ne kadar bekleyeceğiniz

Atışlar
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: Uygulamanın çalışacağı cihaz

pid int: Aratılacak işlemin kimliği

İlerlemeler
Optional<List<String>> İsteğe bağlı olarak açık dosyaların listesi; işlem bulunamadıysa veya açık dosyalar okunamadıysa boş olur.

Atışlar
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. Kalıpla eşleşen birden fazla PID olduğunda IllegalArgumentException döndürün.

Parametreler
device ITestDevice: kullanılacak cihaz

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

İlerlemeler
Optional<Integer> İsteğe bağlı bir tam sayı (pid); pgrep EXIT_SUCCESS döndürmediyse boştur

Atışlar
DeviceNotAvailableException
IllegalArgumentException

pidsOf

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

"pgrep" komutuna iletilen bir kalıpla eşleşen pid'leri alın. /proc/pid/comm kısaltıldığı için komut satırının tamamını kontrol etmek üzere "pgrep" komutuna "-f" parametresi ile iletilir.

Parametreler
device ITestDevice: kullanılacak cihaz

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

İlerlemeler
Optional<Map<Integer, String>> İsteğe bağlı pid ile komut satırı haritası; pgrep EXIT_SUCCESS döndürmediyse boştur

Atışlar
DeviceNotAvailableException

waitPidExited

public static void waitPidExited (ITestDevice device, 
                int pid)

Bir işlemden çıkılmayı bekleyin. Bu, durumun değişmesini beklemek değil, durumun hiç olmamasıdır. Bir pid'nin anketler arasında yeniden kullanılması mümkündür ancak olası değildir.

Parametreler
device ITestDevice: kullanılacak cihaz

pid int: Çıkış yapılana kadar beklemesi gereken sürecin kimliği

Atışlar
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitPidExited

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

Bir işlemden çıkılmayı bekleyin. Bu, durumun değişmesini beklemek değil, durumun hiç olmamasıdır. Bir pid'nin anketler arasında yeniden kullanılması mümkündür ancak olası değildir.

Parametreler
device ITestDevice: kullanılacak cihaz

pid int: Çıkış yapılana kadar beklemesi gereken sürecin kimliği

timeoutMs long: TimeoutException atmadan önce ne kadar bekleyeceğiniz

Atışlar
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 dize

timeoutMs long: TimeoutException atmadan önce ne kadar bekleyeceğiniz

İlerlemeler
Map<Integer, String> pidsOf(...) işlevinden alınan pid to command map

Atışlar
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 dize

İlerlemeler
Map<Integer, String> pidsOf(...) işlevinden alınan pid to command map

Atışlar
TimeoutException
DeviceNotAvailableException

withProcessKill

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

Bir işlemin başlangıcında ve sonunda işlemi sonlandırabilirsiniz.

Parametreler
device ITestDevice: kullanılacak cihaz

pgrepRegex String: pgrep'e gönderilecek, sonlandırılacak sürecin ad kalıbı

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

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

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

Atışlar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

withProcessKill

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

Bir işlemin başlangıcında ve sonunda işlemi sonlandırabilirsiniz.

Parametreler
device ITestDevice: kullanılacak cihaz

pgrepRegex String: pgrep'e gönderilecek, sonlandırılacak sürecin ad kalıbı

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

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

Atışlar
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException