시그널이란?
특정 이벤트가 발생했을 때 프로세스에게 전달하는 신호. 즉, 프로세스끼리 서로 통신하기 위한 수단이다.
- 특정 이벤트: 연산 오류, 사용자의 프로그램 종료 요청, 자식 프로세스의 종료 등
- 인터럽트(interrupt)라고 부르기도 한다.
- 예) 리눅스에서 ctrl+c, 윈도우에서 alt+f4 를 통해 프로그램을 종료
시그널의 종류
- ctrl+C (2, SIGINT)
- ctrl+\ (3, SIGQUIT)
- ctrl+D (15, SIGTERM)
이러한 시그널을 다루는 함수가 바로 signal()
c
signal();
// 첫 번째 인자 :
// 두 번째 인자
// "1st 인자"가 들어오면 "
필요한 이유
특정 인터럽트를 발생시켰을 때, 터미널 자체를 끄지 않게끔 하기 위해서.