시그널 처리 1강 캡쳐본

Untitled

시그널이란?

<aside> 💡 software interrupt의 일종. 외부에서 예상치 못하게 비동기적으로 일어난 사건.

</aside>

시그널의 라이프사이클

Untitled

이벤트가 발생하면 커널 또는 프로세스에서 이 시그널을 발생시켜 다른 프로세스로 전달한다.

Untitled

Untitled

어떤 프로세스가 시그널을 받으면 그 받은 프로세스의 지정된 방법에 따라 시그널을 처리한다.

<처리방법>

  1. 무시
  2. catch and handle한다.
  3. 정의되지 않은 시그널이 오면 default action하는 경우도 있다.

Untitled

리눅스나 유닉스에서는 시그널을 constant로 명시한다. 숫자에 각각의 시그널이 mapping된 것이다.

헤더 : signal.h

이 숫자는 시스템마다 다르기 때문에 숫자 대신 symbolic constant(SIGKILL) 을 사용해서 접근한다.

pending signal : 아직 처리되지 않은 시그널