首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么“杀死-l`”没有列出32和33的信号号码?

为什么“杀死-l`”没有列出32和33的信号号码?
EN

Unix & Linux用户
提问于 2014-09-16 08:26:36
回答 2查看 6.9K关注 0票数 22

在linux上执行kill -l提供:

代码语言:javascript
运行
复制
 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

3233怎么了?为什么没有列出来?他们可以在1点开始,62点结束,而不是在中间跳2次?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2014-09-16 10:23:17

这是因为NPTL。由于它是GNU库的一部分,几乎所有现代的linux发行版都不再使用前两个实时信号。NPTL是POSIX线程的一个实现。NPTL内部利用前两个实时信号.

信号指令的这一部分非常有趣:

Linux内核支持32种不同的实时信号,编号为33到64.但是,glibc线程内部使用两个( NPTL)或三个( LinuxThreads)实时信号(请参阅POSIX (7)),并适当地调整SIGRTMIN的值(为34或35)。由于可用实时信号的范围因glibc线程实现而异(根据可用内核和glibc在运行时可以发生这种变化),而且实时信号的范围在UNIX系统中也会有所不同,所以程序不应该使用硬编码数字来引用实时信号,而是应该始终使用表示法SIGRTMIN+n来引用实时信号,并包括适当的(运行时)检查,以确保SIGRTMIN+n不超过SIGRTMAX。

我还检查了glibc的源代码;参见第22行__SIGRTMIN增加+2,因此前两个实时信号被排除在实时信号的范围之外。

票数 22
EN

Unix & Linux用户

发布于 2014-09-16 09:34:23

因为信号是:

代码语言:javascript
运行
复制
SIGWAITING 32 Ignore All LWPs blocked 
    SIGLWP 33 Ignore Virtual Interprocessor Interrupt for Threads Library 

在Linux中这两种都不支持。(LWP代表轻量级过程)

来源:DeveloperWorks Solaris到Linux移植指南

票数 11
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/155829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档