- 0
- 0
- 约2.14万字
- 约 15页
- 2026-05-08 发布于北京
- 举报
LINUX信号处理
1.信号概念
信号是进程在运行过程中,由自身产生或由进程外部发过来的消息()。信号是硬件中断的软
件模拟(软中断)。每个信号用一个整型常量宏表示,以SIG开头,比如SIGCHLD、SIGINT等,它们在
系统头文件signal.h中定义,也可以通过在shell下键入kill–l查看信号列表,或者键入man7signal查
看更详细的说明。
信号的生成来自内核,让内核生成信号的请求来自3个地方:
用户:用户能够通过输入CTRL+c、Ctrl+\,或者是终端驱动程序分配给信号控制字符的其他任
何键来请求内核产生信号;
内核:当进程执行出错时,内核会给进程发送一个信号,例如段存取(内存)、浮
点数溢出等;
进程:一个进程可以通过系统调用kill给另一个进程发送信号,一个进程可以通过信号和另外
一个进程进行通信。
由进程的某个操作产生的信号称为同步信号(synchronoussignals),例如除0;由像用户击键这样的进
程外部产生的信号叫做异步信号
原创力文档

文档评论(0)