[Unix] Signal Safety

last update 23.12.16

1. Unix Signal

리눅스의 시그널은 가장 단순한 IPC 기법 중 하나이다. 운영체제는 프로세스의 상태를 변화시켜야 할 때 시그널을 보내 프로세스의 상태를 변화시킨다. 시그널이 전달되면 운영체제는 프로세스의 동작을 멈추고(interrupt process's flow of execution 한다고 표현; 하드웨어의 interrupt와는 다른 의미이다), 시그널의 의미에 맞는 특정 동작들을 시행하도록 한다.

시그널은 Unix 시스템의 다양한 부분에서 사용되고 있다. 예를 들어, 터미널에서 사용하는 다양한 단축키들도 시그널을 이용한다.

C언어와 같은 저수준 언어를 다룰 때 볼 수 있는 다양한 에러들도 시그널로 전달된다.

시그널은 서비스를 다룰 때에도 유용하게 사용된다.

이외에도 많은 시그널이 있다.