윈도우 개발자의 단골 도구가 맥으로 왔다, macOS용 Sysinternals Process Explorer

Windows에서 '작업 관리자로는 부족하다' 싶을 때 쓰던 도구가 있죠. 바로 Sysinternals Process Explorer입니다. 이 도구를 macOS 네이티브 앱으로 구현한 Process Explorer for Mac이 공개됐습니다. 어떤 기능이 있고 어떤 점이 다른지 정리해 드릴게요.
한눈에 보는 핵심 요약
- Microsoft의 프로세스 검사 도구 Process Explorer를 macOS용 네이티브 앱으로 구현했습니다.
- 실시간 프로세스 트리로 어떤 프로세스가 무엇을 실행했는지 보여 줍니다. 열린 파일, 불러온 라이브러리, 실행 중인 스레드도 확인할 수 있습니다.
- Swift, SwiftUI, AppKit으로 만들었고,
libproc,sysctl같은 공개 macOS API로 데이터를 모읍니다. - 프로세스별 TCP/IP 연결, 코드 서명 검사, VirusTotal 조회를 지원하고 프로세스를 종료하거나 일시 정지·재시작할 수 있습니다.
- 선택 설치하는 권한 상승 헬퍼를 쓰면 다른 사용자와 시스템 프로세스까지 볼 수 있습니다.
- macOS 14 이상이 필요합니다. API로 얻을 수 없는 데이터는 추정하지 않고 빈 값으로 둡니다.
🔍 프로세스 탐색과 상세 검사
원조 Process Explorer를 써 본 분이라면 금방 익숙해지실 겁니다.
- 색상 구분: 서비스, 현재 사용자 프로세스, 새로 생기거나 사라진 프로세스, 일시 정지 상태, 샌드박스 적용 여부, 패킹된 이미지를 원조와 같은 방식의 색상으로 구분합니다.
- 편리한 화면 조작
- 프로세스 이름 열은 고정되고, 지표 열은 가로로 스크롤됩니다.
- 열 너비, 순서, 구성, 선택 상태가 저장됩니다.
- 목록에서 글자를 입력하면 해당 항목으로 이동합니다.
- 잘린 셀이나 경로·명령줄 정보는 툴팁으로 바로 보여 줍니다.
- 스페이스바로 새로고침을 멈추거나 다시 시작합니다.
- 하단 패널: DLL/이미지, 핸들/파일 디스크립터, 스레드 모드를 지원하고, 새로 생기거나 사라진 항목을 강조해 줍니다.
- 모듈 상세 창: 메타데이터, 서명 검증, VirusTotal 조회, Finder에서 보기, 온라인 검색을 지원합니다.
- 프로세스 속성 창에는 다음 탭이 있습니다.
- Image, Performance, Performance Graph, Threads, TCP/IP, Security, Environment, Strings
- TCP/IP 탭은 로컬/원격 주소, 비동기 역방향 DNS로 찾은 원격 이름, TCP 상태를 보여 줍니다.
File, Options, View, Process, Find 같은 메뉴 바와 도구 모음도 갖췄습니다. 그래서 겉모습만 비슷한 앱이 아니라 macOS 앱처럼 자연스럽게 쓸 수 있습니다.
🛡️ 보안 정보와 프로세스 제어
보안을 점검할 때 특히 쓸모가 많은 부분입니다.
- 코드 서명 검사에서 다음 정보를 확인할 수 있습니다.
- 서명자, 게시자, 인증서 체인
- Team ID, 공증(Notarization) 상태
- 플랫폼/애드혹 서명 여부, 검증 사유, SHA-256 해시
- VirusTotal 연동으로 의심스러운 바이너리를 바로 조회할 수 있습니다.
- 프로세스 제어 기능은 다음과 같습니다.
- 개별 종료 및 하위 트리 전체 종료
- 일시 정지/재개, 재시작
- 우선순위(nice) 조정
- 창을 앞으로 가져오기, 프로세스 샘플링
수상한 프로세스를 발견했을 때 서명 확인부터 VirusTotal 조회, 종료까지 앱 하나로 처리할 수 있습니다.
📊 시스템 성능과 하드웨어 정보
System Information 창은 Summary, CPU, Memory, I/O, Network, GPU 페이지로 나뉩니다.
- CPU, 메모리, 스왑, 디스크 I/O, 네트워크 I/O, GPU 사용량과 코어별 CPU 그래프를 보여 줍니다.
- 메뉴 바에서도 CPU 사용 이력을 볼 수 있습니다.
- Apple Silicon에서는 성능 코어(P-core)와 효율 코어(E-core)를 이름과 색상으로 구분합니다.
- CPU 토폴로지·캐시, 메모리·페이지, 저장장치, 네트워크 인터페이스, GPU 기능, OS·머신 정보 같은 하드웨어 정보도 제공합니다.
🔐 선택적 권한 상승 헬퍼
기본 모드에서는 내 계정의 프로세스만 자세히 볼 수 있습니다. 다른 사용자나 시스템 프로세스까지 보려면 루트 권한 헬퍼를 설치해야 합니다.
- 헬퍼는 launchd 데몬으로 실행되고 앱과 XPC로 통신합니다. 앱은
SMAppService로 데몬을 등록합니다. - 등록하려면 안정적인 비애드혹 코드 서명과 사용자의 명시적 승인이 필요합니다.
- 배포용은 Developer ID Application 인증서, 로컬 개발용은 자체 서명 인증서를 씁니다.
- 승인은 시스템 설정 → 일반 → 로그인 항목 및 확장 프로그램에서 합니다.
- 승인을 거부해도 앱은 비특권 모드로 계속 동작합니다.
- 여러 번 재설치해서 기존 승인이 초기화됐다면 다시 승인해야 할 수 있습니다.
권한 상승을 강제하지 않고 사용자가 필요할 때만 켜도록 한 점이 macOS 보안 모델과 잘 맞습니다.
⚠️ 알아 둘 한계
- 공개 API만 쓰기 때문에 Windows판 Process Explorer의 모든 데이터를 macOS에서 볼 수 있는 것은 아닙니다.
- 접근이 거부되거나 지원 API로 얻을 수 없는 지표는 빈 값으로 표시됩니다. 부정확한 추정치를 보여 주지 않으므로 데이터는 믿을 만합니다.
- 일부 상세 정보는 같은 사용자의 프로세스이거나 헬퍼가 켜져 있을 때만 볼 수 있습니다.
🛠️ 직접 빌드하려는 개발자를 위해
- 요구 사항: macOS 14 이상, Swift 5.9 이상. 현재 구성에서는 Xcode 26.6 이상을 권장합니다.
project.yml로 Xcode 프로젝트를 만들 때 xcodegen을 사용합니다.- 개발용과 공식 앱의 식별자가 분리되어 있습니다. 로컬 빌드가 설치된 공식 앱이나 헬퍼 승인을 덮어쓰지 않습니다.
- 개발용:
ProcExp (Dev).app,com.sysinternals.procexpmac.dev - 공식:
ProcExp.app,com.sysinternals.procexpmac
- 개발용:
- 로컬 개발 스크립트는 별도 키체인에 자체 서명 인증서를 만듭니다. 로그인 키체인을 건드리지 않으므로, 기업 관리 Mac에서 생기기 쉬운 키체인 암호 불일치 문제도 피할 수 있습니다.
- Swift 패키지 테스트, 실시간 스모크 테스트, 루프백 소켓 기반 TCP/IP 테스트 픽스처를 제공합니다.
- 릴리스 스크립트가 DMG 생성, 서명, 공증을 지원합니다.
마무리하며
지금까지 macOS에서 프로세스를 깊이 들여다보려면 활성 상태 보기(Activity Monitor)의 부족한 정보에 만족하거나, lsof, ps, codesign 같은 CLI 도구를 번갈아 써야 했습니다. Process Explorer for Mac은 이 작업들을 익숙한 UI 하나에 모았습니다. 특히 다음과 같은 분들께 추천합니다.
- Windows와 Mac을 함께 쓰며 같은 도구로 문제를 진단하고 싶은 개발자
- 수상한 프로세스의 서명과 네트워크 연결을 빠르게 확인하려는 보안 담당자
- Apple Silicon의 P/E 코어 사용 현황이 궁금한 파워 유저
macOS 14 이상을 쓰고 계신다면 한번 설치해 보세요. 📌 원문: GeekNews
원문: https://news.hada.io/topic?id=36980&utm_source=geeknews&utm_medium=rss&utm_campaign=news