首页 > 代码库 > 信号与信号处理

信号与信号处理

信号的来源,种类,进程对信号的响应。

信号的捕获,发送,屏蔽。

-------------------------------------------------------------

信号是一种软中断,它提供了一种处理异步事件的方式,也是进程间唯一的异步通信方式。根据POSIX标准扩展以后的信号机制,不仅可以

用来通知进程发生了什么事件,还可以给进程传递数据。

-------------------------------------------------------

信号的来源:

1、硬件方式:

在终端按下某些键时,产生信号。如Ctrl+C将产生SIGINT信号

硬件异常检测信号:除数为0,无效的存储访问等。这些事件通常由硬件(CPU)检测到,并将其通知给操作系统内核,然后由内核生成相应的信号,

并把信号发送给该事件发生时正在运行的程序。

 

2、软件方式:

在终端下使用kill命令向进程发送任意信号

进程调用kill或sigqueue函数发送信号

当检测到某种软件条件具备时发出信号,如由alarm或settimer设置的定时器超时,将生成SIGALRM信号。

------------------------------------------------------------------

信号的种类:

在终端输入  kill -l 可以显示Linux支持的全部信号。

信号的值定义在:signal.h中

 

1、可靠信号与不可靠信号:

 

 

2、信号的优先级:

 

-------------------------------------------------------------------

进程对信号的响应:

1、捕捉信号

 

2、忽略信号

 

3、按照系统默认方式处理。

 

信号与信号处理