2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
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)
테스트 시작과 종료 시 프로세스를 종료합니다.
|
상수
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 |
|
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 |
|
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 : 종료될 때까지 기다릴 프로세스의 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 |
|
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을 발생시키기 전에 대기할 시간입니다.
|
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 : 테스트가 끝날 때 일반 환경에서 프로세스를 종료하기 전에 정리해야 하는 모든 작업의 실행 가능 객체입니다. 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 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-03-26(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"]],["최종 업데이트: 2025-03-26(UTC)"],[],[]]