귀염둥이의 메모

[Linux] 시스템 콜 호출 확인 (strace) 본문

Infra & Devops/Linux

[Linux] 시스템 콜 호출 확인 (strace)

겸둥이xz 2021. 12. 15. 19:32
반응형

실습 환경 : OpenStack,  Ubuntu 18.04.5 LTS 

strace 명령어로 프로세스가 어떤 시스템 콜을 호출했는지 확인할 수 있다.

 

hello.c (C 코드)

#include <stdio.h>

int main(void)
{
    puts("hello world");
    return 0;
}

 

strace의 출력을 저장하고 확인

$ strace -o hello.log ./hello

  • 각각의 줄은 1개의 시스템 콜 호출이다.
  • 빨간 박스 부분이 write() 시스템 콜이 문자열을 화면에 출력한다.

 

hello.py (python 코드)

print('hello world')

 

strace로 실행 후, 로그 출력

  • C 언어로 작성된 프로그램과 마찬가지로 write() 시스템 콜이 호출된다.
  • C 언어보다 처리할 양이 많기 때문에 훨씬 더 많은 시스템 콜이 호출되었다.
반응형
Comments