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
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ığı
|
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ığı
|
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
|
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
|
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
|
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
|
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
|
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
|