标签:精确 abort 技术 按键 http 提示 png 通信 默认
信号是一种通知进程某件事情发生了的一种通信机制,通过向进程发送某个信号,可以告诉进程发生了什么事情,进程收到这个信号后,就知道某事情发生了。进程可以做出相应的响应(处理),所以其实信号也是一种通信机制,目的就是用于告诉进程发生了什么事情。
不过Linux所实现的信号这种通信机制,与我们后面专门将的IPC(进程间通信)所不同的是,信号属于不精确通信,信号只能告诉进程大概发生了什么事情,但是不能准确的告诉进程详细的细节信息。
这就好比以前长城放狼烟一样,放狼烟就是一种信号,只能告诉你敌人来了,大概来了多少人,但是无法告诉更多详细的情报,但是如果是电话、电报的话,就属于精确通信,不经可以告诉你敌人来了,还会告诉你敌军的详细情况。
是不是有了精确的IPC后,就可以将信号淘汰了呢?显然不是的,信号有自己应用场合。
本章所涉及到各个API就是专门与信号相关的API
(1)后续课程和开发会用到
(2)帮助我们解答一些疑惑
(3)有利于知识的横向对比和理解
Linux中定义了很多信号,所有的信号都是一个整数编号,不过为了好辨识,Linux系统给这些整数编号都定义了对应的宏名,宏名都是以SIG开头,比如SIGABRT。
宏名SIG , 是对信号的描述,ABRT标识放弃的意思,向进程发送SIGABRT信号,进程会被信号异常终止。在前面我们讲过,当我们调用abort函数是,该函数就会向进程发送一个SIGABRT信号,你一看到ABRT就知道与abort函数有关系。
疑问:这么多的信号,都有哪些呢?记不住怎么办?
总结起来,会有三个角色会向进程发送信号。另一个进程、OS内核、硬件中断。
(1)另一个进程发送信号
(2)内核发送信号
(3)地城硬件发送信号
标签:精确 abort 技术 按键 http 提示 png 通信 默认
原文地址:https://www.cnblogs.com/doitjust/p/12622336.html