波奇学Linux:信号的产生:异常和软件条件

异常与信号

进程异常的本质是程序收到操作系统信号

eg:除0让进程收到异常信号,kill掉进程,使得进程崩溃

进程收到异常信号不一定会退出,对出程序异常,捕捉信号,进程可能不退出。

操作系统如何知道除0操作和野指针的?

cpu的寄存器会扫描代码,其中有个状态寄存器。

状态寄存器有个溢出标志位,当除0时,标志位0->1 从硬件角度体现出来

(当进程切换时,下一个进程也会有自己的独立状态数据写入状态寄存器)

硬件上的问题会被操作系统识别到并且发送信号给进程。

野指针访问失败本质上是cpu在使用MMU(内存管理单元)由虚拟地址到物理地址转变失败,相应的寄存器出现变化,操作系统识别到并发送信号到进程。

捕捉异常信号,死循环的现象是进程没退->每次切换到异常这个异常进程的时候->寄存器变化->os发现问题,发送信号->再次捕捉

上面的异常都与硬件的参与,或者对硬件信息的传递,但实际上异常信号也可以是纯软件,如管道问题 SIGPIPE

软件条件

操作系统可以根据软件条件发送信号到进程

alarm函数向进程发送信号,在seconds秒后后发送信号 SIGALM 14号信号

返回值是剩余的时间,或者上一个闹钟的剩余时间

core 和 term

云服务器默认关闭core file,原因是corefile太大了

打进程core目录,进程出异常,os会将进程在内存中运行信息,dump转储到进程当前目录,形成core pid文件:(核心转储)(g++时要有-g选项)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/511924.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaWebssh题库管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh题库管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Mye…

折线图实现柱状阴影背景的demo

这个是一个由官网的基础折线图实现的流程,将涉及到的知识点附上个人浅薄的见解,源码在最后,需要的可自取。 折线图 成果展示代码注解参数backgroundColordataZoomlegendtitlexAxisyAxisgridseries 源码 成果展示 官网的基础折线图&#xff…

Jupyter Notebook的安装和使用(windows环境)

一、jupyter notebook 安装 前提条件:安装python环境 安装python环境步骤: 1.下载官方python解释器 2.安装python 3.命令行窗口敲击命令pip install jupyter 4.安装jupyter之后,直接启动命令jupyter notebook,在默认浏览器中打开jupyte…

【译】WordPress Bricks主题安全漏洞曝光,25,000个安装受影响

WordPress的Bricks主题存在一个严重的安全漏洞,恶意威胁行为者正在积极利用该漏洞在易受攻击的安装上运行任意PHP代码。 该漏洞被跟踪为CVE-2024-25600(CVSS评分:9.8),使未经身份验证的攻击者能够实现远程代码执行。它影响Bricks的所有版本,包括1.9.6版本及更早版本。 该…

今日Arxiv最热NLP大模型论文:北京大学发布“讨论链”,利用LLM协作回答复杂问题

开放式问答(Open-ended Question Answering, QA)是人工智能领域的一个重要分支,它要求模型能够找到合适的证据,并形成有理有据、全面且有帮助的答案。在实际应用中,模型还需要能够就与问题紧密相关的潜在场景进行扩展讨…

python打包两种方式:setup.py、pyproject.toml;entry_points、project.scripts 可执行的命令行

参考: https://blog.csdn.net/qq_38844437/article/details/126628564 setup.py https://click.palletsprojects.com/en/7.x/setuptools/#setuptools-integration 学习写法:https://github.com/myshell-ai/MeloTTS/blob/main/setup.py yourscript.p…

【LeetCode每日一题】【BFS模版与例题】【二维数组】130被围绕的区域 994 腐烂的橘子

前几天写过一篇BFS比较基础版的遍历 【LeetCode每日一题】【BFS模版与例题】863.二叉树中所有距离为 K 的结点 ,可以先看一下再看本文 用 BFS 算法遍历二维数组 遍历二维矩阵:二维矩阵中的一个位置看做一个节点,这个节点的上下左右四个位置…

ROS2中std_msgs/msg/Header 数据含义及使用

ROS2中std_msgs/msg/Headerr 数据含义及使用 ROS官方消息说明数据说明使用ros2标准的Header案例代码解释测试结果 ROS官方消息说明 ROS2中std_msgs消息包含类型 https://docs.ros2.org/latest/api/std_msgs/msg/std_msgs/msg/Header Message std_msgs/msg/Header数据格式&…

mybatis不重复列插入例子详细说明

之前有做过不重复列插入的需求,当时是 在插入时判断 对应的列在数据库中有没有对应的数据 有则返回false 无则插入,但是这加大了数据库的查询负担 也增加了插入的时间,故今天研究一下 使用sql来简化了这一点 使用的知识点是 daul表 insert i…

紫光展锐T618_4G安卓核心板方案定制

紫光展锐T618核心板是一款采用纯国产化方案的高性能产品,搭载了开放的智能Android操作系统,并集成了4G网络,支持2.5G5G双频WIFI、蓝牙近距离无线传输技术以及GNSS无线定位技术。 展锐T618核心板应用旗舰级 DynamlQ架构 12nm 制程工艺&#x…

3DEXPERIENCE Works八大核心优势分析

云技术正在加速普及,助力各行各业数字化转型。根据IDC 2023年12月发布的报告,2023年全球云计算市场规模达到3329亿美元,同比增长19.4%。其中,公有云市场规模达到2587亿美元,同比增长21.5%;私有云市场规模达到742亿美元…

想要高薪还想要低要求?想转行做Python自动化测试,我该怎么做?

前言 最近小编连续收到好几个粉丝的私信询问:我年纪上来了,原来的行业做不下去了,想转行还能行吗?我是女生,计算机专业快毕业了,但是不喜欢做开发怎么办?我对编程行业感兴趣,想学编…