Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

38107
469
422670


[라즈베리파이] 시그널 - 시그널을 받으면 프로세스 어떻게 반응할까? 12. 시그널

프로세스가 시그널은 받아 동작하는 방식은 우리가 이메일을 받았을 때와 비슷합니다. 대부분 자신에게 온 메일을 읽고 답장을 하지만 스팸 이메일이 오면 무시할 수도 있습니다. 

시그널을 전달받은 프로세스가 이를 처리하는 방식은 2 가지로 분류할 수 있습니다. 

1단계: 시그널을 무시한다.
말 그대로 아무런 동작을 하지 않습니다. 하지만 SIGKILL, SIGSTOP 과 같은 시그널은 프로세스가 무시할 수 없습니다. 특정 상황에서 지정한 프로세스를 반드시 종료해야 하기 때문입니다.

2단계: 시그널에 명시된 동작을 수행합니다.
시그널 핸들러로 등록된 시그널 핸들러 함수를 실행하고 시그널 별로 명시된 동작을 수행합니다.
대부분 프로세스가 시그널을 받으면 취하는 액션은 프로세스 종료입니다.

이번 절까지는 유저 프로세스 입장에서 시그널 처리 동작에 대해 살펴봤습니다. 다음 소절에서는 커널이 시그널 처리를 위해 어떤 동작을 하는지 알아봅시다.

#Referene 시그널
시그널이란
시그널 설정은 어떻게 할까
시그널 생성 과정 함수 분석
프로세스는 언제 시그널을 받을까
시그널 전달과 처리는 어떻게 할까?
시그널 제어 suspend() 함수 분석 
시그널 ftrace 디버깅

"혹시 궁금점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답글 올려드리겠습니다!" 


# Reference: For more information on 'Linux Kernel';

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 1

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 2


 





핑백

덧글

댓글 입력 영역