Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
리눅스/OS

strace로 리눅스 프로세스 시스템콜 추적하기

프로그램이 정확히 어디서 멈추거나 실패하는지 알고 싶을 때 strace가 유용합니다. 시스템콜 추적 도구의 기본 사용법을 정리했습니다.

2026.08.22  ·  26회  · 

strace란

strace는 실행 중인 프로세스가 커널에 요청하는 시스템콜(system call)을 실시간으로 가로채 기록하는 리눅스 진단 도구입니다. 프로그램이 파일을 열고, 네트워크 소켓을 만들고, 메모리를 할당하는 등의 모든 저수준 동작을 추적할 수 있습니다.

기본 사용법

# 새 프로세스를 strace로 감싸서 실행
strace ./myprogram

# 이미 실행 중인 프로세스에 붙기 (PID 지정)
strace -p 12345

# 특정 시스템콜만 필터링 (예: 파일 관련)
strace -e trace=open,read,write ./myprogram

언제 유용한가

  • "Permission denied" 원인 파악: 정확히 어떤 파일 접근에서 권한 오류가 나는지 확인
  • 행(hang) 걸린 프로세스 진단: 어느 시스템콜에서 멈춰 있는지 확인
  • 설정 파일 탐색 경로 확인: 프로그램이 실제로 어떤 경로의 설정 파일을 읽으려 시도하는지 추적

주의할 점

모든 시스템콜을 가로채 기록하기 때문에 대상 프로세스 실행 속도가 눈에 띄게 느려질 수 있습니다. 운영 환경에서는 필요한 순간에만 짧게 사용하는 것이 안전합니다.

참고 출처: Linux man-pages
WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원