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,他去找虚拟到物理的转化,转换失败,硬件报错,操作系统就知道了,知道什么进程什么错误,就报错了。

这都是硬件异常。

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

相关推荐
Fcy6482 小时前
Linux下 Socket编程 —— UDP网络编程
linux·网络·udp
lajidecrd3 小时前
Ubuntu 24.04 LTS安装
linux·运维·ubuntu
沫璃染墨3 小时前
《从零入门Linux系统篇(二十九):文件篇·二——深入文件描述符:从文件描述符表到重定向,再到Shell实现》
linux·运维·服务器·c++·驱动开发·系统架构
jing.wang_20253 小时前
制作最小Linux(Ubuntu)系统
linux·嵌入式硬件·ubuntu·dsp开发
陈年老古董3 小时前
Shell 脚本编程基础完整学习笔记
linux·sql·mysql
byte轻骑兵3 小时前
【BlueZ 】蓝牙地址与 UUID:BlueZ 源码中核心标识的定义与使用
linux·bluez·电脑蓝牙·嵌入式蓝牙
Baron X4 小时前
Linux PAM登录告警
linux·运维·告警
团子股股东峥哥4 小时前
day27-RHEL-访问Linux文件系统
linux·运维·服务器
佳児素花痴╮4 小时前
Linux IO模型详解:从阻塞到多路复用
linux·运维·服务器
朝发如雪4 小时前
快速掌握Linux(4)(进程)
java·linux·服务器