strace

프로세스에서 호출하는 시스템콜을 추적하는 도구

strace 설치

sudo apt-get install strace

strace 사용법

-o

#strace -o {출력 파일명} {관찰하고자 하는 프로그램}
strace -o ls-strace ls

이 경우 strace는 ls 명령어 실행시 호출되는 시스템 콜을 추척하여 ls-strace라는 이름의 파일에 기록한다.

-e

#strace -o {출력 파일명} -e {모니터링할 시스템 콜} {관찰하고자 하는 프로그램}
strace -e write ls

이 경우에 strace는 ls 명령어 실행시 호출되는 write 시스템 콜을 추적하여 결과를 터미널에 출력한다.

-t

strace -t ls

-t 옵션은 타임 스탬프를 함께 출력하도록 한다.

-f

strace -f a.out

멀티 프로세스, 멀티 스레드를 생성하는 프로그램의 경우 -f 옵션을 설정하지 않으면 메인 스레드의 시스템 콜만 모니터링 된다.

-p

#strace -p {관찰하고자 하는 프로세스의 pid}
strace -p 209322

이미 실행 중인 프로세스의 시스템 콜을 관찰하고자 할 때에는 pid를 입력하여 해당 pid를 가지는 프로세스에서 호출되는 시스템 콜을 모니터링 할 수 있다.