linux自定義信號:https://www.cnblogs.com/bigben0123/p/3186661.html
linux信號、值及解釋:https://blog.csdn.net/luotuo44/article/details/16799607
信號處理:https://wiki.jikexueyuan.com/project/cplusplus/signal-handling.html
沒什么kill -l沒有32 33 http://www.kbase101.com/question/30858.html
__SIGRTMIN 和 SIGRTMIN:
兩個是不同的,SIGRTMIN在 __SIGRTMIN 基礎上+2
執行 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
注意沒有32 33
這是因為NPTL。由於它是GNU C庫的一部分,幾乎每個現代Linux發行版都不再使用前兩個實時信號了。 NPTL是POSIX Threads的實現。 NPTL內部使用前兩個實時信號。
信號手冊頁的這一部分非常有趣:
Linux內核支持32種不同的實時信號,
編號為33到64.但是,glibc POSIX線程實現
內部使用兩個(對於NPTL)或三個(對於LinuxThreads)實時
信號(參見pthreads(7)),並適當調整SIGRTMIN的值
(到34或35)。因為可用的實時信號范圍不同
根據glibc線程實現(和這種變化
可以在運行時根據可用的內核和glibc)發生,
實際上,實時信號的范圍因UNIX系統而異,
程序絕不應該使用硬編碼來引用實時信號
數字,但應始終使用的是實時信號
符號SIGRTMIN + n,並包括適當的(運行時)檢查
SIGRTMIN + n不超過SIGRTMAX。
檢查了glibc的源代碼;參見第22行。 __SIGRTMIN
增加了+2,因此前兩個實時信號被排除在實時信號范圍之外。