열렬히.뛰기

시그널 구현

école 42 > minishell > 진행 상황 > 시그널 구현

시그널이란?

특정 이벤트가 발생했을 때 프로세스에게 전달하는 신호. 즉, 프로세스끼리 서로 통신하기 위한 수단이다.

  • 특정 이벤트: 연산 오류, 사용자의 프로그램 종료 요청, 자식 프로세스의 종료 등
  • 인터럽트(interrupt)라고 부르기도 한다.
  • 예) 리눅스에서 ctrl+c, 윈도우에서 alt+f4 를 통해 프로그램을 종료

시그널의 종류

  • ctrl+C (2, SIGINT)
  • ctrl+\ (3, SIGQUIT)
  • ctrl+D (15, SIGTERM)

이러한 시그널을 다루는 함수가 바로 signal()

c
signal();

// 첫 번째 인자 : 
// 두 번째 인자
// "1st 인자"가 들어오면 "

필요한 이유

특정 인터럽트를 발생시켰을 때, 터미널 자체를 끄지 않게끔 하기 위해서.