컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
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`에 전달된 패턴과 일치하는 단일 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)
테스트의 시작과 끝에서 프로세스를 종료합니다.
|
상수
절차 POLL_PERIOD_MS
public static final long PROCESS_POLL_PERIOD_MS
상수 값:
250명
(0x00000000000000fa)
프로세스 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의 Opotional입니다(있는 경우).
|
생성 값 |
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 : 프로세스가 종료되지 않았을 때 예외를 발생시켜야 하는지 여부 |
반환 값 |
boolean |
프로세스가 종료되었는지 여부
|
모두 종료
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 : 종료될 때까지 대기할 프로세스의 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이 발생하기 전에 대기하는 시간입니다.
|
listOpenFiles
public static Optional<List<String>> listOpenFiles (ITestDevice device,
int pid)
지정된 프로세스의 현재 열려 있는 파일 이름을 반환합니다.
매개변수 |
device |
ITestDevice : 실행할 기기 |
pid |
int : 검색할 프로세스의 ID입니다. |
반환 값 |
Optional<List<String>> |
열려 있는 파일의 선택적 프로세스를 찾을 수 없거나 열려 있는 파일인 경우 비어 있음
읽을 수 없습니다.
|
생성 값 |
DeviceNotAvailableException |
|
PID
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이 발생하기 전에 대기하는 시간입니다.
|
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 |
프로세스가 닫힐 때 다시 프로세스를 종료하는 객체
|
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2024-08-23(UTC)
[{
"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": "\ucd5c\uc885 \uc5c5\ub370\uc774\ud2b8: 2024-08-23(UTC)"}
[[["이해하기 쉬움","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(UTC)"]]