入れ子になったクラス |
---|
class | ProcessUtil.KillException |
パブリックメソッド |
---|
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 (0x00000000000000fa)
PROCESS_WAIT_TIMEOUT_MS
public static final long PROCESS_WAIT_TIMEOUT_MS
定数値: 10000 (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 : 検索するプロセスのID |
filePattern | Pattern : 返すファイル名のパターン |
戻り値 |
---|
Optional<List<String>> | フィルタリングされたファイルのオプション。プロセスが見つからないか、開いているファイルを読み取れなかった場合は空です。 |
投げる |
---|
DeviceNotAvailableException | |
getプロセス名
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 : プロセスが強制終了されなかった場合に例外をスローするかどうか |
戻り値 |
---|
boolean | プロセスが強制終了されたかどうか |
すべてを殺す
public static boolean killAll (ITestDevice device,
String pgrepRegex,
long timeoutMs)
パターンに一致するすべてのプロセスに SIGKILL を送信します。
パラメーター |
---|
device | ITestDevice : 使用するデバイス |
pgrepRegex | String : pgrep の正規表現を表す文字列 |
timeoutMs | long : TimeoutException をスローするまでの待機時間 |
戻り値 |
---|
boolean | プロセスが強制終了されたかどうか |
キルピッド
public static void killPid (ITestDevice device,
int pid,
long timeoutMs)
SIGKILL をプロセスに送信し、プロセスが終了するのを待ちます。
パラメーター |
---|
device | ITestDevice : 使用するデバイス |
pid | int : 終了するまで待機するプロセスの ID |
timeoutMs | long : TimeoutException をスローするまでの待機時間 |
キルピッド
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 | |
waitPid終了しました
public static void waitPidExited (ITestDevice device,
int pid)
プロセスが終了するまで待ちます。これは変化するのを待っているのではなく、単に存在しないだけです。ポーリング間で pid が再利用される可能性はありますが、可能性は低いです。
パラメーター |
---|
device | ITestDevice : 使用するデバイス |
pid | int : 終了するまで待機するプロセスの ID |
waitPid終了しました
public static void waitPidExited (ITestDevice device,
int pid,
long timeoutMs)
プロセスが終了するまで待ちます。これは変化するのを待っているのではなく、単に存在しないだけです。ポーリング間で pid が再利用される可能性はありますが、可能性は低いです。
パラメーター |
---|
device | ITestDevice : 使用するデバイス |
pid | int : 終了するまで待機するプロセスの ID |
timeoutMs | long : TimeoutException をスローするまでの待機時間 |
waitプロセス実行中
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 | |
waitプロセス実行中
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 : テスト終了時に通常の環境でプロセスを強制終了する前にクリーンアップする必要があるアクションの実行可能ファイル。 null にすることもできます。 |
timeoutMs | long : プロセスが強制終了するまで待機する時間 (ミリ秒) |
戻り値 |
---|
AutoCloseable | プロセスが閉じられたときにプロセスを再度強制終了するオブジェクト |
withProcessKill
public static AutoCloseable withProcessKill (ITestDevice device,
String pgrepRegex,
Runnable beforeCloseKill)
テストの開始時と終了時にプロセスを強制終了します。
パラメーター |
---|
device | ITestDevice : 使用するデバイス |
pgrepRegex | String : pgrep に与えるために強制終了するプロセスの名前パターン |
beforeCloseKill | Runnable : テスト終了時に通常の環境でプロセスを強制終了する前にクリーンアップする必要があるアクションの実行可能ファイル。 null にすることもできます。 |
戻り値 |
---|
AutoCloseable | プロセスが閉じられたときにプロセスを再度強制終了するオブジェクト |
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2023-12-01 UTC。
[]
[]