34 信号

看testsig代码,ctrl C 不再终止而是去执行获得信号

man 7 sigal 查看特定符号详细信息,里面有信号的默认动作

后台通过kill -9 pid

当运行一个进程时候,这是前台,再输入命令,子进程没调scanf所以输不到,&变成后台,输入这时候给bash。就能显示,

ctrl C把父子进程同时杀掉,如果父进程先退出,那么子进程自动切后台,那么就杀不掉

ctrl Z 暂停 自动提到后台

键盘按ctrl c,键盘是硬件,操作系统作为硬件管理者,第一个接收到数据,操作系统就给前台发送信号,修改目标进程位图,让这个进程先记下来,后期合适时候处理。默认终止就终止了。


看看mykill代码

通过ctrl c是获取到。。。。也可以通过myshell进程传几号信号,传2是获取到。。。传9是杀掉进程

abort相当于对自定义捕捉去掉会恢复成默认,所以一定会终止程序

除零错误操作系统怎么知道犯错,cpu寄存器内有进程上下文和current进程,其中标志寄存器会记录是否溢出,,此时发送异常信号,就知道什么进程什么错误。

段错误:虚拟地址和CR3寄存器内容给MMU,他去找虚拟到物理的转化,转换失败,硬件报错,操作系统就知道了,知道什么进程什么错误,就报错了。

这都是硬件异常。

管道式软件,读关了那么就触发软件条件。

相关推荐
木下~learning2 小时前
对于Linux中等待队列和工作队列的讲解和使用|RK3399
linux·c语言·网络·模块化编程·工作队列·等待队列
齐齐大魔王2 小时前
linux-核心工具
linux·运维·服务器
醇氧2 小时前
Linux 系统的启动过程
linux·运维·服务器
IMPYLH2 小时前
Linux 的 dircolors 命令
linux·运维·服务器·数据库
齐齐大魔王2 小时前
linux-基础操作
linux·运维·服务器
bwz999@88.com3 小时前
ubuntu24.04更换国内源
linux·运维·服务器
历程里程碑3 小时前
Protobuf 环境搭建:Windows 与 Linux 系统安装教程
linux·运维·数据结构·windows·线性代数·算法·矩阵
XXOOXRT3 小时前
Ubuntu搭建Java项目运行环境(JDK17+MySQL8.0)超详细教程
java·linux·mysql·ubuntu
吴声子夜歌3 小时前
TypeScript——类型基础(二)
linux·ubuntu·typescript