透過集合功能整理內容
你可以依據偏好儲存及分類內容。
處理機
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` 模式相符的單一 Pid。
|
static
Optional<Map<Integer, String>>
|
pidsOf(ITestDevice device, String pgrepRegex)
取得與傳遞至 `pgrep` 模式相符的 Pid。
|
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 人
(0x00000000000000F)
PROCESS_WAIT_TIMEOUT_MS
public static final long PROCESS_WAIT_TIMEOUT_MS
常數值:
10,000 名
(0x000000000002710)
公用方法
findFileLoadedByProcess
public static Optional<IFileEntry> findFileLoadedByProcess (ITestDevice device,
String process,
String filenameSubstr)
傳回由指定程序 (含指定名稱) 載入的第一個檔案項目
參數 |
device |
ITestDevice :要執行的裝置 |
process |
String :要尋找的程序模式 |
filenameSubstr |
String :程序載入的檔案名稱/路徑的一部分 |
傳回 |
Optional<IFileEntry> |
裝置上檔案路徑的 IFileEntry (如果有)。
|
擲回 |
DeviceNotAvailableException |
|
findFilesLoadedByProcess
public static Optional<List<String>> findFilesLoadedByProcess (ITestDevice device,
int pid,
Pattern filePattern)
傳回由指定程序載入的指定檔案名稱。
參數 |
device |
ITestDevice :要執行的裝置 |
pid |
int :要搜尋的程序 ID |
filePattern |
Pattern :要傳回的檔案名稱模式 |
傳回 |
Optional<List<String>> |
是篩選檔案的選用項目;找不到程序或開啟
無法讀取 個檔案。
|
擲回 |
DeviceNotAvailableException |
|
getProcessName
public static Optional<String> getProcessName (ITestDevice device,
int pid)
從 /proc/pid/cmdline 取得內容。
參數 |
device |
ITestDevice :要使用的裝置 |
pid |
int :用來取得名稱的程序 ID |
傳回 |
Optional<String> |
/proc/pid/cmdline 內容的選用字串;如果 pid 不能空白
尋找
|
擲回 |
DeviceNotAvailableException |
|
殺光全部
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs,
boolean expectExist)
將 SIGKILL 傳送至符合模式的所有程序。
參數 |
device |
ITestDevice :要使用的裝置 |
pgrepRegex |
String :代表 pgrep 規則運算式的字串。 |
timeoutMs |
long :擲回 TimeoutException 前的等待時間 |
expectExist |
boolean :是否在未終止任何程序時擲回例外狀況 |
殺光全部
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs)
將 SIGKILL 傳送至符合模式的所有程序。
參數 |
device |
ITestDevice :要使用的裝置 |
pgrepRegex |
String :代表 pgrep 規則運算式的字串。 |
timeoutMs |
long :擲回 TimeoutException 前的等待時間 |
killPid
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
將 SIGKILL 傳送至處理程序,並等待程序結束。
參數 |
device |
ITestDevice :要使用的裝置 |
pid |
int :等待結束的程序 ID |
timeoutMs |
long :擲回 TimeoutException 前的等待時間
|
killPid
public static void killPid (ITestDevice device,
int pid,
int signal,
long timeoutMs)
將信號傳送至處理程序,然後等待信號結束。
參數 |
device |
ITestDevice :要使用的裝置 |
pid |
int :等待結束的程序 ID |
signal |
int :要傳送至程序的信號 |
timeoutMs |
long :擲回 TimeoutException 前的等待時間
|
列出開啟檔案
public static Optional<List<String>> listOpenFiles (ITestDevice device,
int pid)
傳回指定程序目前開啟的檔案名稱。
參數 |
device |
ITestDevice :要執行的裝置 |
pid |
int :要搜尋的程序 ID |
傳回 |
Optional<List<String>> |
選擇性是開啟檔案的選用項目;找不到程序或開啟的檔案時為空白
無法讀取。
|
擲回 |
DeviceNotAvailableException |
|
pidOf
public static Optional<Integer> pidOf (ITestDevice device,
String pgrepRegex)
取得與傳遞至 `pgrep` 模式相符的單一 Pid。在多個符合模式的 PID 時擲回 IllegalArgumentException
。
參數 |
device |
ITestDevice :要使用的裝置 |
pgrepRegex |
String :代表 pgrep 規則運算式的字串。 |
傳回 |
Optional<Integer> |
選用的 pid 整數;如果 pgrep 沒有傳回 EXIT_SUCCESS,則為空白
|
擲回 |
DeviceNotAvailableException |
|
IllegalArgumentException |
|
pidsOf
public static Optional<Map<Integer, String>> pidsOf (ITestDevice device,
String pgrepRegex)
取得與傳遞至 `pgrep` 模式相符的 Pid。由於 /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)
等待程序結束。這不等待變革,只是
。雖然可以在不同意見調查之間重複使用 Pid,但不太可能
參數 |
device |
ITestDevice :要使用的裝置 |
pid |
int :等待結束的程序 ID
|
waitPidExited
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
等待程序結束。這不等待變革,只是
。雖然可以在不同意見調查之間重複使用 Pid,但不太可能
參數 |
device |
ITestDevice :要使用的裝置 |
pid |
int :等待結束的程序 ID |
timeoutMs |
long :擲回 TimeoutException 前的等待時間
|
等候程序執行中
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex,
long timeoutMs)
等待指定規則運算式的執行中程序。
參數 |
device |
ITestDevice :要使用的裝置 |
pgrepRegex |
String :代表 pgrep 規則運算式的字串。 |
timeoutMs |
long :擲回 TimeoutException 前的等待時間 |
傳回 |
Map<Integer, String> |
從 pidOf(...) 的 pid 到指令對應
|
擲回 |
TimeoutException |
|
DeviceNotAvailableException |
|
等候程序執行中
public static Map<Integer, String> waitProcessRunning (ITestDevice device,
String pgrepRegex)
等待指定規則運算式的執行中程序。
參數 |
device |
ITestDevice :要使用的裝置 |
pgrepRegex |
String :代表 pgrep 規則運算式的字串。 |
傳回 |
Map<Integer, String> |
從 pidOf(...) 的 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 |
會在關閉時再次終止程序的物件
|
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2024-08-23 (世界標準時間)。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u4e0a\u6b21\u66f4\u65b0\u6642\u9593\uff1a2024-08-23 (\u4e16\u754c\u6a19\u6e96\u6642\u9593)\u3002"}
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2024-08-23 (世界標準時間)。"]]