Mac에서 어떤 프로세스가 실행 중인지 아는 것은 성능 문제를 해결하고, 제멋대로 작동하는 앱을 추적하고, 시스템이 뒤에서 무엇을 하고 있는지 이해하는 데 필수적입니다. 그래픽 도구를 선호하든 명령줄을 선호하든, macOS는 전체 그림을 파악할 수 있는 여러 방법을 제공합니다.
빠른 답변
실행 중인 모든 프로세스를 빠르게 시각적으로 둘러보려면 /Applications/Utilities/에서 Activity Monitor를 여세요. 스크립트로 처리 가능한 상세한 출력을 원하면 ps, top, lsof 같은 터미널 명령어를 사용하세요. 프로세스 트리, 환경 변수, 짧게 실행되는 프로세스 포착을 비롯한 고급 검사를 위해서는 **ProcXray**를 사용하세요.
방법 1: Activity Monitor
Activity Monitor는 Apple이 기본 제공하는 프로세스 뷰어입니다. 실행 중인 모든 프로세스의 CPU, 메모리, 에너지, 디스크, 네트워크 사용량을 보여줍니다.
Activity Monitor 여는 방법
- Finder를 엽니다.
- 응용 프로그램 > 유틸리티로 이동합니다.
- Activity Monitor를 더블 클릭합니다.
또는 Cmd + Space를 눌러 Spotlight를 열고 “Activity Monitor”를 입력한 뒤 Enter를 누르세요.
모든 프로세스 보기
기본적으로 Activity Monitor는 사용자 계정 소유의 프로세스만 표시합니다. 모든 것을 보려면:
- 메뉴 막대의 보기 메뉴를 클릭합니다.
- 모든 프로세스를 선택합니다.
이제 시스템 데몬과 백그라운드 서비스를 포함해 Mac에서 실행 중인 모든 프로세스를 볼 수 있습니다.
정렬 및 필터링
- 아무 열 머리글(CPU, 메모리, PID)이나 클릭하면 해당 지표 기준으로 정렬됩니다.
- 오른쪽 상단의 검색 필드를 사용해 프로세스 이름으로 필터링하세요.
- CPU, 메모리, 에너지, 디스크, 네트워크 탭을 전환하여 다양한 리소스 보기를 확인하세요.
한계
Activity Monitor는 빠른 확인에는 잘 작동하지만 사각지대가 있습니다.
- 프로세스 트리 없음. 부모-자식 관계가 없는 평면 목록만 보입니다. 앱이 보조 프로세스를 생성할 때 어떤 프로세스가 어떤 것을 실행했는지 알 방법이 없습니다.
- 환경 변수 없음. 프로세스가 시작될 때 사용된 환경을 검사할 수 없습니다.
- 짧게 실행되는 프로세스를 놓침. 새로 고침 간격 사이에 시작되고 종료되는 프로세스는 결코 표시되지 않습니다.
- 정규식 검색 없음. 검색 필드는 단순한 텍스트 매칭만 지원합니다.
방법 2: 터미널 명령어
터미널은 더 강력하고 유연합니다. 실행 중인 프로세스를 확인하는 데 가장 유용한 명령어를 소개합니다.
ps — 프로세스 나열
ps 명령은 현재 프로세스의 스냅샷을 출력합니다.
# 상세 정보와 함께 실행 중인 모든 프로세스 나열
ps aux
각 줄에는 사용자, PID, CPU 사용량, 메모리 사용량, 시작 시간, 전체 명령이 표시됩니다.
이름으로 특정 프로세스를 찾으려면:
# "Safari"와 일치하는 모든 프로세스 찾기
ps aux | grep Safari
전체 명령줄 인수를 보려면(스크립트에 유용):
# 특정 PID의 전체 명령 표시
ps -p 1234 -o pid,command
top — 실시간 프로세스 모니터
top 명령은 실행 중인 프로세스를 실시간으로 계속 업데이트되는 보기로 표시합니다.
# CPU 사용량 기준으로 정렬하여 top 실행
top -o cpu
q를 눌러 종료합니다. top이 실행 중인 동안 o를 누르고 열 이름을 입력하면 정렬 순서를 변경할 수 있습니다.
대화형 모드로 들어가지 않고 일회성 스냅샷을 표시하려면:
# CPU 기준 상위 10개 프로세스를 출력한 뒤 종료
top -l 1 -n 10 -o cpu
lsof — 열린 파일 및 연결 나열
모든 프로세스는 열린 파일, 소켓, 시스템 리소스를 보유합니다. lsof 명령은 이를 드러냅니다.
# 특정 프로세스의 열린 파일 모두 표시
lsof -p 1234
# 특정 포트를 사용하는 프로세스 찾기
lsof -i :8080
# 모든 네트워크 연결 나열
lsof -i
명령어 조합하기
이 명령어들을 엮어 표적 조사를 할 수 있습니다.
# 프로세스의 PID를 찾아 열린 파일을 한 번에 나열
lsof -p $(pgrep -f "node server.js")
한계
터미널 명령어는 강력하지만 절충점이 있습니다.
- 출력이 부담스러울 수 있습니다 —
lsof는 흔히 수천 줄을 생성합니다. ps는 정적 스냅샷을 보여줍니다. 읽을 때쯤이면 짧게 실행되는 프로세스가 이미 종료되었을 수 있습니다.ps,top,lsof의 데이터를 서로 연관 짓는 데는 수작업이 필요합니다.- 추가 서식 없이는 시각적 프로세스 계층 구조가 없습니다.
방법 3: ProcXray
ProcXray는 그래픽 인터페이스의 편리함과 Activity Monitor 및 터미널 명령어를 모두 뛰어넘는 깊이를 결합한 네이티브 macOS 앱입니다.
ProcXray가 더해주는 것
- 프로세스 트리 보기. 평면 목록과 부모-자식 관계를 보여주는 실시간 계층 트리를 전환할 수 있습니다. 어떤 앱이나 스크립트가 프로세스를 생성했는지 즉시 확인하세요.
- 환경 변수. 아무 프로세스나 클릭하면 그것이 실행될 때 사용된 모든 환경 변수를 검사할 수 있습니다 — 검색 가능하고 JSON으로 복사할 수 있습니다.
- 짧게 실행되는 프로세스 포착. 새로 생성된 프로세스는 녹색으로 강조되고, 최근에 종료된 프로세스는 빨간색으로 유지됩니다. Activity Monitor와
ps가 놓치는 일시적 프로세스를 포착합니다. - 실시간 정규식 검색. 정규식 패턴을 사용해 프로세스 이름, PID, 명령줄 인수, 경로를 가로질러 필터링하세요.
- 코드 서명 검증. 각 프로세스가 서명되었는지, 누가 서명했는지, 어떤 entitlement를 보유하는지 한눈에 확인하세요.
ProcXray는 단지 프로세스가 실행 중이라는 사실 뿐만 아니라 왜 실행 중인지를 조사해야 할 때 특히 유용합니다.
각 방법을 언제 사용할까
| 작업 | Activity Monitor | 터미널 | ProcXray |
|---|---|---|---|
| 빠른 CPU/메모리 확인 | 최고 | 좋음 | 좋음 |
| 실행 중인 모든 프로세스 보기 | 좋음 | 최고 | 최고 |
| 이름으로 프로세스 찾기 | 좋음 | 좋음 | 최고 |
| 프로세스 트리(부모-자식) 보기 | 불가 | 제한적 | 최고 |
| 환경 변수 검사 | 불가 | 번거로움 | 최고 |
| 짧게 실행되는 프로세스 포착 | 불가 | 불가 | 최고 |
| 스크립트/자동화된 확인 | 불가 | 최고 | 불가 |
| 코드 서명 확인 | 불가 | 수동 | 최고 |
자주 묻는 질문
Mac에서는 보통 몇 개의 프로세스가 실행되나요?
일반적인 Mac은 언제든 300~500개의 프로세스를 실행하며, 대부분은 시스템 데몬과 백그라운드 서비스입니다. 이는 정상입니다. 비정상적으로 많은 수나 낯선 프로세스 이름이 보이면 ps aux나 ProcXray로 조사하여 그것이 무엇인지 확인하세요.
아무것도 설치하지 않고 실행 중인 프로세스를 확인할 수 있나요?
네. Activity Monitor는 모든 Mac에 기본 설치되어 있고, ps와 top 같은 터미널 명령어도 기본으로 제공됩니다. 이것들로 대부분의 기본적인 필요는 충족됩니다. ProcXray 같은 타사 도구는 더 깊은 검사 기능이 필요할 때 가치를 발휘합니다.
Mac을 느리게 만드는 프로세스를 어떻게 찾아 중지하나요?
- Activity Monitor를 열고 CPU 탭을 클릭합니다.
- % CPU 기준으로 정렬합니다(열 머리글 클릭).
- 리소스를 가장 많이 소비하는 프로세스를 식별합니다.
- 그것을 선택하고 도구 모음의 X 버튼을 클릭하여 종료합니다.
종료되지 않는 프로세스에는 터미널을 사용하세요: kill -9 <PID>. <PID>를 Activity Monitor나 ps aux에 표시된 프로세스 ID로 바꾸세요.
출처 및 참고 자료
ProcXray 다운로드 → — 무료, macOS Sonoma+.