Linux Signal은 커널이나 프로세스에서 다른 프로세스에게 이벤트가 발생했음을 전달해주는 인터럽트 같은 개념이다.
보통 OS마다 Signal number는 주로 사용되는 것들을 제외하고는 /usr/include/signal.h에 정의되어 있는 내용에 따라 조금씩 다르다. Ubuntu에서 지원하는 Signal 목록은 다음과 같다
# kill -l (시그널 리스트 보기)
표로 정리하면 아래와 같다.
Signal Number | Signal Name | Description | 키조합 |
1 | SIGHUP | 일반적으로 제어 터널 혹은 가상 터미널이 닫혔을 때 | |
2 | SIGINT | 사용자가 프로세스를 중단하고자 할 때 | Ctrl + C |
3 | SIGQUIT | Ctrl + \ | |
4 | SIGILL | 잘못된 형식이나 알 수 없는 명령을 실행하려고 할 때 | |
5 | SIGTRAP | ||
6 | SIGABRT | ||
7 | SIGBUS | 버스 오류가 발생했을 때, 예를 들어 잘못된 메모리 액세스 또는 존재하지 않는 물리적주소 | |
8 | SIGFPE | 0으로 나누기와 같은 잘못된 산술 연산이 실행되었을 때 | |
9 | SIGKILL | ||
10 | SIGUSR1 | ||
11 | SIGSEGV | ||
12 | SIGUSR2 | ||
13 | SIGPIPE | ||
14 | SIGALRM | ||
15 | SIGTERM | ||
16 | SIGSTKFLT | ||
17 | SIGCHLD | 자식 프로세스가 종료된 후 사용하는 리소스를 정리하도록 지시할 때 | |
18 | SIGCONT | 운영체제의 지시를 다시 시작(일시정지 해제) | |
19 | SIGSTOP | ||
20 | SIGTSTP | Ctrl + Z | |
21 | SIGTTIN | ||
22 | SIGTTOU | ||
23 | SIGURG | ||
24 | SIGXCPU | ||
25 | SIGXFSZ | ||
26 | SIGVTALRM | ||
27 | SIGPROF | ||
28 | SIGWINCH | ||
29 | SIGIO | ||
30 | SIGPWR | ||
31 | SIGSYS | ||
34 | SIGRTMIN | ||
35 | SIGRTMIN+1 | ||
36 | SIGRTMIN+2 | ||
37 | SIGRTMIN+3 | ||
38 | SIGRTMIN+4 | ||
39 | SIGRTMIN+5 | ||
40 | SIGRTMIN+6 | ||
41 | SIGRTMIN+7 | ||
42 | SIGRTMIN+8 | ||
43 | SIGRTMIN+9 | ||
44 | SIGRTMIN+10 | ||
45 | SIGRTMIN+11 | ||
46 | SIGRTMIN+12 | ||
47 | SIGRTMIN+13 | ||
48 | SIGRTMIN+14 | ||
49 | SIGRTMIN+15 | ||
50 | SIGRTMAX-14 | ||
51 | SIGRTMAX-13 | ||
52 | SIGRTMAX-12 | ||
53 | SIGRTMAX-11 | ||
54 | SIGRTMAX-10 | ||
55 | SIGRTMAX-9 | ||
56 | SIGRTMAX-8 | ||
57 | SIGRTMAX-7 | ||
58 | SIGRTMAX-6 | ||
59 | SIGRTMAX-5 | ||
60 | SIGRTMAX-4 | ||
61 | SIGRTMAX-3 | ||
62 | SIGRTMAX-2 | ||
63 | SIGRTMAX-1 | ||
64 | SIGRTMAX |