信号_Linux下常用的信号有哪些
Linux下常用的信号有哪些
1.5 Linux下都有哪些信号
1.5.1 信号列表 kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT
7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT
19) SIGSTOP 20) SIGTSTP21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
25) SIGXFSZ26) 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
-
在命令行支持kill -l,可以显示所有的信号列表
-
总共62个信号,也就是说每个进程都可以接收的信号种类有62种。1~64为信号的编号,SIG***为信号的宏名。
-
(1) 为什么这么多信号
- 每个信号代表着某种事件,一般情况下,当进程收到某个信号时,就表示该信号所代表的事件发生了。
- 可能发生的事件有很多种,所以有这么多信号,每个信号对应着自己特有的事件。
-
(2)这么多信号,记不住怎么办?
- (1)35~64:这些信号是Linux后期增设的信号,这些信号不需要关心,不需要了解。
- (2)1~34:也不是所有的信号都要掌握,我们只关心其中常用的信号
- (3)就算对1~34中的常用信号,我们的要求是理解,而不是记忆。当忘记了信号名字时,kill -l查看即可。对这些信号,理解是关键。
1.5.2 常用信号
信号宏名 |信号编号|说明 |系统默认处理方式
-
| :-: |:- |:-
SIGABRT |6 |终止进程,调用abort函数时产生 |终止,产生core文件
SIGALRM |14 |超时,调用alarm函数时产生 |终止
SIGBUS |7 |硬件故障 |终止,产生core文件
SIGCHLD |17 |子进程状态改变 |忽略
SIGINT |2 |终止进程(Ctrl+C) |终止
SIGIO |29 |异步通知信号 |终止
SIGKILL |9 |无条件终止一个进程,不可以被捕获或忽略 |终止
SIGPIPE |13 |写没有读权限的管道文件时 |终止
SIGPOLL |8 |轮训事件,涉及POLL机制 |终止
SIGTERM |15 |kill PID时默认发送的信号 |终止
SIGQUIT |3 |终止进程( Ctrl+\ ) |终止,产生core文件
SIGSEGV |11 |无效存储访问(指针错误) |终止
SIGUSER1|10 |用户自定义信号1 |终止
SIGUSER2|10 |用户自定义信号2 |终止
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
2019-04-02 第008课_第1个ARM落版程序及引申
2019-04-02 第011课_串口(UART)的使用
2019-04-02 第010课_掌握ARM芯片时钟体系