首页 > 代码库 > 信号与信号处理
信号与信号处理
信号的来源,种类,进程对信号的响应。
信号的捕获,发送,屏蔽。
-------------------------------------------------------------
信号是一种软中断,它提供了一种处理异步事件的方式,也是进程间唯一的异步通信方式。根据POSIX标准扩展以后的信号机制,不仅可以
用来通知进程发生了什么事件,还可以给进程传递数据。
-------------------------------------------------------
信号的来源:
1、硬件方式:
在终端按下某些键时,产生信号。如Ctrl+C将产生SIGINT信号
硬件异常检测信号:除数为0,无效的存储访问等。这些事件通常由硬件(CPU)检测到,并将其通知给操作系统内核,然后由内核生成相应的信号,
并把信号发送给该事件发生时正在运行的程序。
2、软件方式:
在终端下使用kill命令向进程发送任意信号
进程调用kill或sigqueue函数发送信号
当检测到某种软件条件具备时发出信号,如由alarm或settimer设置的定时器超时,将生成SIGALRM信号。
------------------------------------------------------------------
信号的种类:
在终端输入 kill -l 可以显示Linux支持的全部信号。
信号的值定义在:signal.h中
1、可靠信号与不可靠信号:
2、信号的优先级:
-------------------------------------------------------------------
进程对信号的响应:
1、捕捉信号
2、忽略信号
3、按照系统默认方式处理。
信号与信号处理