【Linux】进程信号 --- 信号预备阶段(入门篇)

在这里插入图片描述

👦个人主页:Weraphael
✍🏻作者简介:目前正在学习c++和算法
✈️专栏:Linux
🐋 希望大家多多支持,咱一起进步!😁
如果文章有啥瑕疵,希望大佬指点一二
如果文章对你有帮助的话
欢迎 评论💬 点赞👍🏻 收藏 📂 加关注😍


一、生活角度的信号

在我们日常生活中,信号是随处可见的,比如:

  • 红绿灯
  • 上下课铃声
  • 发令枪
  • ...

因为我们都接受过教育(识别信号)当产生这些信号时,会立马想到对应的处理动作,但不一定会立马去处理,因为现在可能正在做更重要的事,直到在合适的时候处理。比方说:闹钟一响就要起床学习【进程信号】,可是被窝太香了,起不来。所以,在信号产生后到信号处理这段期间内,必须记住(保存)信号

二、进程信号的理解

  1. 类似地,进程也必须能够识别和处理信号的能力。程序员们给操作系统内置了一批指令,一个指令表示一种特殊动作,而这些指令就是信号(进程信号)
  2. 当进程收到一个具体信号的时候,进程可能并不会立即处理这个信号,等到合适的时候处理。
  3. 一个进程从信号产生后到信号处理这段期间内,必须保存信号,等到合适的时候处理。

在这里插入图片描述

Linux中,可以通过以下命令查看当前系统中的信号列表

kill -l

在这里插入图片描述

以上是当前系统中的 进程信号,一共 62 个,其中 1~31 号信号为 普通信号(重点学习);剩下的 34~64 号信号为 实时信号(不考虑)

  • 普通信号:根据时间片实行公平调度,适用于个人电脑。(识别信号后可以不立即处理)
  • 实时信号:高响应,适合任务较少、需要快速处理的平台,比如汽车车机、火箭发射控制台。(识别信号后必须立即处理)

注意:Linux中,信号本质上就是一个数字,诸如:SIGKILLSIGINT等这些其实是

在这里插入图片描述

三、31个普通信号的作用

信号编号 信号名 信号含义
1 SIGHUP 如果终端接口检测到一个连接断开,默认处理动作是终止进程。
2 SIGINT 它的含义是Interrupt(中断)。这个信号通常由用户通过键盘(Ctrl + c)发送,默认是中断当前进程的运行。
3 SIGQUIT 当用户按组合键(一般采用Ctrl+\)时,该信号不仅终止前台进程组,同时会产生一个core文件。
4 SIGILL 此信号表示进程已执行一条非法指令,该信号的默认处理动作是终止进程,同时产生一个core文件。
5 SIGTRAP 该信号由断点指令或其他trap指令产生,该信号的默认处理动作是终止进程,同时会产生一个core文件。
6 SIGABRT 调用abort函数是产生此信号,进程异常终止,同时会产生一个core文件。
7 SIGBUS 当出现某些类型的内存故障时,常常产生该信号,该信号的默认处理动作是终止进程,同时产生一个core文件。
8 SIGFPE 此信号表示一个算术运算异常,比如除0、浮点溢出等,该信号的默认处理动作是终止进程,同时产生一个core文件。
9 SIGKILL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值