ProcessUtil
public
final
class
ProcessUtil
extends Object
java.lang.Object
|
↳ |
com.android.sts.common.ProcessUtil
|
डिवाइस पर प्रोसेस ढूंढने, इंतज़ार करने, और उन्हें बंद करने के लिए कई सहायक
खास जानकारी
सार्वजनिक तरीके |
static
Optional<IFileEntry>
|
findFileLoadedByProcess(ITestDevice device, String process, String filenameSubstr)
तय की गई प्रोसेस से, तय किए गए नाम वाली पहली फ़ाइल को लोड करने पर, फ़ाइल की एंट्री दिखाता है
|
static
Optional<List<String>>
|
findFilesLoadedByProcess(ITestDevice device, int pid, Pattern filePattern)
किसी खास प्रोसेस से लोड की गई फ़ाइल का नाम दिखाता है.
|
static
Optional<String>
|
getProcessName(ITestDevice device, int pid)
/proc/pid/cmdline से कॉन्टेंट पाएं.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs, boolean expectExist)
किसी पैटर्न से मैच करने वाली सभी प्रोसेस को SIGKILL भेजें.
|
static
boolean
|
killAll(ITestDevice device, String pgrepRegex, long timeoutMs)
किसी पैटर्न से मैच करने वाली सभी प्रोसेस को SIGKILL भेजें.
|
static
void
|
killPid(ITestDevice device, int pid, long timeoutMs)
किसी प्रोसेस को SIGKILL भेजें और उसके बंद होने का इंतज़ार करें.
|
static
void
|
killPid(ITestDevice device, int pid, int signal, long timeoutMs)
किसी प्रोसेस को सिग्नल भेजें और उसके बंद होने का इंतज़ार करें.
|
static
Optional<List<String>>
|
listOpenFiles(ITestDevice device, int pid)
किसी प्रोसेस के लिए, फ़िलहाल खुली हुई फ़ाइलों के नाम दिखाता है.
|
static
Optional<Integer>
|
pidOf(ITestDevice device, String pgrepRegex)
`pgrep` को पास किए गए पैटर्न से मैच करने वाला एक पीआईडी पाएं.
|
static
Optional<Map<Integer, String>>
|
pidsOf(ITestDevice device, String pgrepRegex)
`pgrep` को दिए गए पैटर्न से मैच करने वाले पीआईडी पाएं.
|
static
void
|
waitPidExited(ITestDevice device, int pid)
किसी प्रोसेस के बंद होने का इंतज़ार करें.
|
static
void
|
waitPidExited(ITestDevice device, int pid, long timeoutMs)
किसी प्रोसेस के बंद होने का इंतज़ार करें.
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex, long timeoutMs)
किसी रेगुलर एक्सप्रेशन के लिए, चल रही प्रोसेस मिलने तक इंतज़ार करें.
|
static
Map<Integer, String>
|
waitProcessRunning(ITestDevice device, String pgrepRegex)
किसी रेगुलर एक्सप्रेशन के लिए, चल रही प्रोसेस मिलने तक इंतज़ार करें.
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill, long timeoutMs)
किसी टेस्ट की शुरुआत और आखिर में प्रोसेस को बंद करना.
|
static
AutoCloseable
|
withProcessKill(ITestDevice device, String pgrepRegex, Runnable beforeCloseKill)
किसी टेस्ट की शुरुआत और आखिर में प्रोसेस को बंद करना.
|
कॉन्स्टेंट
PROCESS_POLL_PERIOD_MS
public static final long PROCESS_POLL_PERIOD_MS
कॉन्स्टेंट वैल्यू:
250
(0x00000000000000fa)
PROCESS_WAIT_TIMEOUT_MS
public static final long PROCESS_WAIT_TIMEOUT_MS
कॉन्स्टेंट वैल्यू:
10,000
(0x0000000000002710)
सार्वजनिक तरीके
findFileLoadedByProcess
public static Optional<IFileEntry> findFileLoadedByProcess (ITestDevice device,
String process,
String filenameSubstr)
तय की गई प्रोसेस से, तय किए गए नाम वाली पहली फ़ाइल को लोड करने पर, फ़ाइल की एंट्री दिखाता है
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर इसे चलाना है |
process |
String : खोजने के लिए, प्रोसेस का pgrep पैटर्न |
filenameSubstr |
String : प्रोसेस से लोड की गई फ़ाइल के नाम/पाथ का हिस्सा |
रिटर्न |
Optional<IFileEntry> |
डिवाइस पर मौजूद फ़ाइल के पाथ का IFileEntry, जो ज़रूरी नहीं है.
|
थ्रो |
DeviceNotAvailableException |
|
findFilesLoadedByProcess
public static Optional<List<String>> findFilesLoadedByProcess (ITestDevice device,
int pid,
Pattern filePattern)
किसी खास प्रोसेस से लोड की गई फ़ाइल का नाम दिखाता है.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर इसे चलाना है |
pid |
int : खोजने के लिए प्रोसेस का आईडी |
filePattern |
Pattern : फ़ाइल के उन नामों का पैटर्न जिन्हें दिखाना है |
रिटर्न |
Optional<List<String>> |
फ़िल्टर की गई फ़ाइलों का वैकल्पिक सेक्शन. अगर प्रोसेस नहीं मिली या खुली हुई
फ़ाइलों को पढ़ा नहीं जा सका, तो यह सेक्शन खाली रहेगा.
|
थ्रो |
DeviceNotAvailableException |
|
getProcessName
public static Optional<String> getProcessName (ITestDevice device,
int pid)
/proc/pid/cmdline से कॉन्टेंट पाएं.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pid |
int : जिस नाम का पता लगाना है उसकी प्रोसेस का आईडी |
रिटर्न |
Optional<String> |
/proc/pid/cmdline के कॉन्टेंट की वैकल्पिक स्ट्रिंग; अगर pid नहीं मिला, तो खाली
|
थ्रो |
DeviceNotAvailableException |
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs,
boolean expectExist)
किसी पैटर्न से मैच करने वाली सभी प्रोसेस को SIGKILL भेजें.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pgrepRegex |
String : pgrep के लिए रेगुलर एक्सप्रेशन दिखाने वाली स्ट्रिंग |
timeoutMs |
long : TimeoutException को थ्रो करने से पहले कितनी देर इंतज़ार करना है |
expectExist |
boolean : कोई प्रोसेस बंद न होने पर, क्या कोई अपवाद दिखाया जाना चाहिए |
रिटर्न |
boolean |
कोई प्रोसेस बंद हुई या नहीं
|
killAll
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs)
किसी पैटर्न से मैच करने वाली सभी प्रोसेस को SIGKILL भेजें.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pgrepRegex |
String : pgrep के लिए रेगुलर एक्सप्रेशन दिखाने वाली स्ट्रिंग |
timeoutMs |
long : TimeoutException को थ्रो करने से पहले कितनी देर इंतज़ार करना है |
रिटर्न |
boolean |
कोई प्रोसेस बंद हुई या नहीं
|
killPid
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
किसी प्रोसेस को SIGKILL भेजें और उसके बंद होने का इंतज़ार करें.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pid |
int : उस प्रोसेस का आईडी जिसे बंद होने तक इंतज़ार करना है |
timeoutMs |
long : TimeoutException को थ्रो करने से पहले कितनी देर इंतज़ार करना है
|
killPid
public static void killPid (ITestDevice device,
int pid,
int signal,
long timeoutMs)
किसी प्रोसेस को सिग्नल भेजें और उसके बंद होने का इंतज़ार करें.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pid |
int : उस प्रोसेस का आईडी जिसे बंद होने तक इंतज़ार करना है |
signal |
int : प्रोसेस को भेजा जाने वाला सिग्नल |
timeoutMs |
long : TimeoutException को थ्रो करने से पहले कितनी देर इंतज़ार करना है
|
listOpenFiles
public static Optional<List<String>> listOpenFiles (ITestDevice device,
int pid)
किसी प्रोसेस के लिए, फ़िलहाल खुली हुई फ़ाइलों के नाम दिखाता है.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर इसे चलाना है |
pid |
int : खोजने के लिए प्रोसेस का आईडी |
रिटर्न |
Optional<List<String>> |
यह खुली फ़ाइलों का वैकल्पिक एट्रिब्यूट है. अगर प्रोसेस नहीं मिली या खुली फ़ाइलों को पढ़ा नहीं जा सका, तो यह एट्रिब्यूट खाली रहेगा.
|
थ्रो |
DeviceNotAvailableException |
|
pidOf
public static Optional<Integer> pidOf (ITestDevice device,
String pgrepRegex)
`pgrep` को पास किए गए पैटर्न से मैच करने वाला एक पीआईडी पाएं. पैटर्न से मैच करने वाले एक से ज़्यादा पीआईडी होने पर, IllegalArgumentException
दिखाएं.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pgrepRegex |
String : pgrep के लिए रेगुलर एक्सप्रेशन दिखाने वाली स्ट्रिंग |
रिटर्न |
Optional<Integer> |
प्रोसेस आईडी का वैकल्पिक इंटिजर. अगर pgrep ने EXIT_SUCCESS नहीं दिखाया है, तो यह खाली होगा
|
थ्रो |
DeviceNotAvailableException |
|
IllegalArgumentException |
|
pidsOf
public static Optional<Map<Integer, String>> pidsOf (ITestDevice device,
String pgrepRegex)
`pgrep` को दिए गए पैटर्न से मैच होने वाले पीआईडी पाएं. /proc/pid/comm को छोटा किया जाता है, इसलिए पूरी कमांड लाइन की जांच करने के लिए, `pgrep` को `-f` के साथ पास किया जाता है.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pgrepRegex |
String : pgrep के लिए रेगुलर एक्सप्रेशन दिखाने वाली स्ट्रिंग |
रिटर्न |
Optional<Map<Integer, String>> |
यह कमांड लाइन के लिए pid का वैकल्पिक मैप है. अगर pgrep ने EXIT_SUCCESS नहीं दिखाया है, तो यह खाली होगा
|
थ्रो |
DeviceNotAvailableException |
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid)
किसी प्रोसेस के बंद होने का इंतज़ार करें. इसका मतलब यह नहीं है कि उसमें बदलाव होने का इंतज़ार किया जा रहा है, बल्कि यह है कि वह मौजूद ही नहीं है. ऐसा हो सकता है कि एक पोल के बाद, दूसरे पोल में भी उसी पीआईडी का इस्तेमाल किया जाए. हालांकि, ऐसा होने की संभावना बहुत कम है
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pid |
int : उस प्रोसेस का आईडी जिसे बंद होने तक इंतज़ार करना है
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
किसी प्रोसेस के बंद होने का इंतज़ार करें. इसका मतलब यह नहीं है कि उसमें बदलाव होने का इंतज़ार किया जा रहा है, बल्कि यह है कि वह मौजूद ही नहीं है. ऐसा हो सकता है कि एक पोल के बाद, दूसरे पोल में भी उसी पीआईडी का इस्तेमाल किया जाए. हालांकि, ऐसा होने की संभावना बहुत कम है
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pid |
int : उस प्रोसेस का आईडी जिसे बंद होने तक इंतज़ार करना है |
timeoutMs |
long : TimeoutException को थ्रो करने से पहले कितनी देर इंतज़ार करना है
|
waitProcessRunning
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex,
long timeoutMs)
किसी रेगुलर एक्सप्रेशन के लिए, चल रही प्रोसेस मिलने तक इंतज़ार करें.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pgrepRegex |
String : pgrep के लिए रेगुलर एक्सप्रेशन दिखाने वाली स्ट्रिंग |
timeoutMs |
long : TimeoutException को थ्रो करने से पहले कितनी देर इंतज़ार करना है |
रिटर्न |
Map<Integer, String> |
pidsOf(...) से मैप को कमांड करने के लिए pid
|
थ्रो |
TimeoutException |
|
DeviceNotAvailableException |
|
waitProcessRunning
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex)
किसी रेगुलर एक्सप्रेशन के लिए, चल रही प्रोसेस मिलने तक इंतज़ार करें.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pgrepRegex |
String : pgrep के लिए रेगुलर एक्सप्रेशन दिखाने वाली स्ट्रिंग |
रिटर्न |
Map<Integer, String> |
pidsOf(...) से मैप को कमांड करने के लिए pid
|
थ्रो |
TimeoutException |
|
DeviceNotAvailableException |
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill,
long timeoutMs)
किसी टेस्ट की शुरुआत और आखिर में प्रोसेस को बंद करना.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pgrepRegex |
String : pgrep को मारने के लिए, प्रोसेस का नाम पैटर्न |
beforeCloseKill |
Runnable : ऐसी सभी कार्रवाइयों के लिए एक रननेबल, जिन्हें टेस्ट के आखिर में सामान्य एनवायरमेंट में प्रोसेस को बंद करने से पहले, क्लीनअप करना ज़रूरी है. यह शून्य हो सकता है. |
timeoutMs |
long : प्रोसेस को बंद होने में लगने वाला समय (मिलीसेकंड में) |
रिटर्न |
AutoCloseable |
ऐसा ऑब्जेक्ट जो बंद होने पर, प्रोसेस को फिर से बंद कर देगा
|
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
किसी टेस्ट की शुरुआत और आखिर में प्रोसेस को बंद करना.
पैरामीटर |
device |
ITestDevice : वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है |
pgrepRegex |
String : pgrep को मारने के लिए, प्रोसेस का नाम पैटर्न |
beforeCloseKill |
Runnable : ऐसी सभी कार्रवाइयों के लिए एक रननेबल, जिन्हें टेस्ट के आखिर में सामान्य एनवायरमेंट में प्रोसेस को बंद करने से पहले, क्लीनअप करना ज़रूरी है. यह शून्य हो सकता है. |
रिटर्न |
AutoCloseable |
ऐसा ऑब्जेक्ट जो बंद होने पर, प्रोसेस को फिर से बंद कर देगा
|