kill -l
명령의 출력을 확인하십시오.
$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
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
SIGRTMIN의 정수 값은 32가 아니라 34입니다.
... 31) SIGSYS 34) SIGRTMIN ...
왜?
$ uname -r
4.19.0-8-amd64
$ ls -l /lib/x86_64-linux-gnu/libc-2.28.so
-rwxr-xr-x 1 root root 1.8M May 1 2019 /lib/x86_64-linux-gnu/libc-2.28.so*
답변1
이 질문에 대한 답은 signal(7)
매뉴얼 페이지에서 찾을 수 있습니다.Real-time Signals
실시간 신호
Linux는 원래 POSIX.1b 실시간 확장(현재 POSIX.1-2001에 포함됨)에 정의된 실시간 신호를 지원합니다. 지원되는 실시간 신호의 범위는
SIGRTMIN
매크로 및 에 의해 정의됩니다SIGRTMAX
. POSIX.1-2001에서는 최소한POSIX_RTSIG_MAX(8)
실시간 신호를 지원하는 구현이 필요합니다.
33
Linux 커널은 번호가 매겨진 32개의 실시간 신호를 지원합니다64
. 그러나glibc
POSIX 스레드 구현은 내부적으로 2개(NPTL의 경우) 또는 3개(LinuxThreads의 경우) 실시간 신호( 참조pthreads(7)
)를 사용하며 값은 적절하게 조정됩니다SIGRTMIN
(34
또는 의 경우35
).