ProcessUtil

public final class ProcessUtil
extends Object

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


डिवाइस पर प्रोसेस ढूंढने, इंतज़ार करने, और उन्हें बंद करने के लिए कई सहायक

खास जानकारी

नेस्ट की गई क्लास

class ProcessUtil.KillException

 

कॉन्स्टेंट

long PROCESS_POLL_PERIOD_MS

long PROCESS_WAIT_TIMEOUT_MS

सार्वजनिक तरीके

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 कोई प्रोसेस बंद हुई या नहीं

थ्रो
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killAll

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

किसी पैटर्न से मैच करने वाली सभी प्रोसेस को SIGKILL भेजें.

पैरामीटर
device ITestDevice: वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है

pgrepRegex String: pgrep के लिए रेगुलर एक्सप्रेशन दिखाने वाली स्ट्रिंग

timeoutMs long: TimeoutException को थ्रो करने से पहले कितनी देर इंतज़ार करना है

रिटर्न
boolean कोई प्रोसेस बंद हुई या नहीं

थ्रो
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

किसी प्रोसेस को SIGKILL भेजें और उसके बंद होने का इंतज़ार करें.

पैरामीटर
device ITestDevice: वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है

pid int: उस प्रोसेस का आईडी जिसे बंद होने तक इंतज़ार करना है

timeoutMs long: TimeoutException को थ्रो करने से पहले कितनी देर इंतज़ार करना है

थ्रो
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

killPid

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

किसी प्रोसेस को सिग्नल भेजें और उसके बंद होने का इंतज़ार करें.

पैरामीटर
device ITestDevice: वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है

pid int: उस प्रोसेस का आईडी जिसे बंद होने तक इंतज़ार करना है

signal int: प्रोसेस को भेजा जाने वाला सिग्नल

timeoutMs long: TimeoutException को थ्रो करने से पहले कितनी देर इंतज़ार करना है

थ्रो
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

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: उस प्रोसेस का आईडी जिसे बंद होने तक इंतज़ार करना है

थ्रो
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

waitPidExited

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

किसी प्रोसेस के बंद होने का इंतज़ार करें. इसका मतलब यह नहीं है कि उसमें बदलाव होने का इंतज़ार किया जा रहा है, बल्कि यह है कि वह मौजूद ही नहीं है. ऐसा हो सकता है कि एक पोल के बाद, दूसरे पोल में भी उसी पीआईडी का इस्तेमाल किया जाए. हालांकि, ऐसा होने की संभावना बहुत कम है

पैरामीटर
device ITestDevice: वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है

pid int: उस प्रोसेस का आईडी जिसे बंद होने तक इंतज़ार करना है

timeoutMs long: TimeoutException को थ्रो करने से पहले कितनी देर इंतज़ार करना है

थ्रो
TimeoutException
DeviceNotAvailableException
ProcessUtil.KillException

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 ऐसा ऑब्जेक्ट जो बंद होने पर, प्रोसेस को फिर से बंद कर देगा

थ्रो
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException

withProcessKill

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

किसी टेस्ट की शुरुआत और आखिर में प्रोसेस को बंद करना.

पैरामीटर
device ITestDevice: वह डिवाइस जिस पर आपको ऐप्लिकेशन इस्तेमाल करना है

pgrepRegex String: pgrep को मारने के लिए, प्रोसेस का नाम पैटर्न

beforeCloseKill Runnable: ऐसी सभी कार्रवाइयों के लिए एक रननेबल, जिन्हें टेस्ट के आखिर में सामान्य एनवायरमेंट में प्रोसेस को बंद करने से पहले, क्लीनअप करना ज़रूरी है. यह शून्य हो सकता है.

रिटर्न
AutoCloseable ऐसा ऑब्जेक्ट जो बंद होने पर, प्रोसेस को फिर से बंद कर देगा

थ्रो
DeviceNotAvailableException
TimeoutException
ProcessUtil.KillException