文章目录
- 1.信号的概念
- 2.通过Ctrl c分析信号
-
- 2.1Ctrl c的作用
- 2.2 signal接口
- 2.3证明ctrl +c本质是信号
- 2.4总结
- 3.信号处理的常见方式
- 4.信号的产生方式
-
- 4.1通过终端按键产生
- 4.2调用系统函数向进程发送信号
-
- 4.3.1调用kill
- 4.3.2调用raise
-
- 4.3.2.1使用演示
- 4.3.2.2linux中9号信号不能被捕捉
- 4.3.3调用abort
- 4.3软件条件产生信号
-
- 4.3.1使用演示
- 4.3.2 利用alarm验证IO对效率的影响
- 4.4硬件异常产生信号
- 4.5总结
1.信号的概念 信号是进程之间事件异步的一种方式,属于软中断。通俗一点讲就是OS向特定进程通知某件时间发生采用的一种方式。
一个进程在收到信号之前,就已经知道,当接收到信号时应该怎么去做。就好比行人相对于红绿红,在看到红绿灯之前就已经知道红灯停、绿灯行。
文章图片
2.通过Ctrl c分析信号 2.1Ctrl c的作用 Ctrl +c 是通过硬件的输入方式中断进程,它的本质也是通过系统向进程发送信号。
在证明Ctrl c本质之前需要知晓Ctrl c的本质是往前台发送信息,在一次会话中只允许打开一个前台进程。
2.2 signal接口 signal的接口是捕获信号,对信号进行重定义
捕捉到了信号才会触发这个函数
文章图片
2.3证明ctrl +c本质是信号
文章图片
文章图片
2.4总结 1.Ctrl c只能给前台发送信号给前台进程,一个命令后面加&表示放到后台运行,这样shell不必等待进程结束就可以接收新的命令,启动新进程
当进程被设置为后台进程时,我们在命令行输入的消息流会和后台进程的信息混合在一起,这是因为bash进程是在前台的,我们可以输入信息,但是显示器只有一个,被两个进程同时使用,说明他是临界资源,而这个临界资源又没有被保护,因此它的数据会发生混乱
文章图片
2.Shell可以同时运行一个前台进程和多个后台进程,只有前台进程才能接收到键盘输入的组合键信号
3.前台进程可以随时接收一个组合键信号,证明了进程相对于信号是异步的
3.信号处理的常见方式 1.忽略信号
2.指向该信号的默认处理动作
3.捕捉信号,类似上面的捕捉2号信号,要求内核在处理该信号时切换到用户状态下执行
信号产生的时候,并不是被立即处理的,信号产生和新处理的中间有一个时间窗口,有一个信号的记录(信号产生,信号保存,信号生命周期结束)
4.信号的产生方式 4.1通过终端按键产生 前面已经介绍
4.2调用系统函数向进程发送信号 4.3.1调用kill
kill命令是调用kill函数接口竖向的,kill可以给一个指定的进程发送指定的信号,调用成功返回0,失败返回-1
文章图片
文章图片
文章图片
4.3.2调用raise
4.3.2.1使用演示 raise可以给当前进程发送指定的信号(自己给自己发送信号),调用成功返回0,失败-1
文章图片
文章图片
4.3.2.2linux中9号信号不能被捕捉 这么多信号肯定要有信号不能被捕捉,因为如果都可以被捕捉,病毒可以将所有信号捕捉更改掉,系统就瘫痪了,因此需要一个信号不能被捕捉,即系统始终拥有对进程的终止能力
文章图片
4.3.3调用abort
abort使当前进程收到信号而异常终止,给自己发生6号信号
文章图片
文章图片
4.3软件条件产生信号 4.3.1使用演示
文章图片
文章图片
文章图片
4.3.2 利用alarm验证IO对效率的影响
文章图片
4.4硬件异常产生信号 硬件的异常被检测到,并且通知OS,OS会向当前进程发送适当的信号
文章图片
文章图片
4.5总结 【Linux|Linux进程信号——信号的产生】1、9号信号不能被捕捉
2、所有的信号都需要经过OS发出,因为发送信号是指挥信号干什么,只有管理者才有这个能力,所以所有信号的发出需要经过OS
3、上面介绍的是,信号的触发条件
4、如何表示收到信号:在进程的PCB中保存一张位图,1表示收到信号,0表示没有收到
5、如何表示发送信号:OS发信号只需在PCB中找到位图,将对应的比特位改为1
推荐阅读
- Linux|Linux进程信号
- linux|Elasticsearch7.5.0安全(xpack)之身份认证
- Red Hat Enterprise Linux 9
- 编程学习笔记|Linux笔记 [全文字数1.6W]
- linux中ping命令
- big|Docker使用教程
- 常见的一些容器部署|CentOS7安装JDK8
- Linux学习及相关操作|Linux配置静态ip地址(CentOS7)(不踩坑)
- python从入门到实战|【Python编程】一、Python安装(Linux/Windows)与简介