linux中的异常及信号

发布时间 2023-09-14 19:32:37作者: lh03061238

在 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