linux中的异常及信号
在 Linux 中,异常处理机制主要由信号和异常处理程序(也称为信号处理程序)两个部分组成。信号是一种软件中断,用于通知进程发生了某些事件或出现了某些异常情况。在 Linux 中,有许多不同的信号,例如 SIGSEGV(非法内存访问)、SIGKILL(强制终止进程)和 SIGINT(中断信号,通常由 Ctrl+C 触发)等。
当进程收到一个信号时,它会停止正在执行的工作并执行与该信号关联的异常处理程序。这个处理程序可以是默认处理程序,也可以是由进程自己定义的处理程序。默认处理程序通常是终止进程或忽略信号,但也有一些默认处理程序会做一些其他的操作,例如在出现非法内存访问时向进程发送核心转储文件。
如果进程定义了自己的信号处理程序,那么在收到信号时,内核会调用这个处理程序来处理信号。处理程序可以根据需要执行各种操作,例如记录日志、恢复进程状态、重新启动进程或向其他进程发送信号等。
参考:
【Linux】一篇文章彻底搞定信号 https://blog.csdn.net/w903414/article/details/109802539
快乐Linux —— 11. 异常与信号 https://www.cnblogs.com/starrys/p/12252700.html
Linux内核:进程管理——进程信号处理流程 https://zhuanlan.zhihu.com/p/620228885 (重点参考)
Linux Kernel信号处理机制源码分析 https://www.cnblogs.com/gnuemacs/p/14311120.html
linux内核信号的处理过程 https://blog.csdn.net/Dawn_sf/article/details/74177899
linux内核中的信号机制--信号处理 https://blog.csdn.net/ce123_zhouwei/article/details/8570616
深入理解Linux内核信号处理机制原理(含源码讲解) https://zhuanlan.zhihu.com/p/463100471
Linux内核进程上下文的切换 https://blog.csdn.net/m0_50662680/article/details/129219937
Linux进程描述符task_struct结构体详解--Linux进程的管理与调度
posted on 2023-09-14 19:26 lh03061238 阅读(275) 评论(0) 收藏 举报
浙公网安备 33010602011771号