Linux中的信号 嵌入式系统实验室 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FOR ADVANCED STUDY OF USTC
Linux中的信号
信号 信号在最早的Uniⅸ系统中就已经被引入了,用于 在用户态进程间通信。 冬内核也用信号通知进程系统所发生的事情 1958 嵌入式系统实验室 2023/7/14 Linux OS analysis 3158 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 3/58 信号 ❖信号在最早的Unix系统中就已经被引入了,用于 在用户态进程间通信。 ❖内核也用信号通知进程系统所发生的事情
信号 冬信号是很短的消息 ?标准信号 >标准信号没有给参数、消息或是其他相随的信息留有 空间 必通常使用一个数字来标识一个信号 冬信号可以被发送到一个进程或一组进程。 cience and Tecb 嵌入式系统实验室 2023/7/14 Linux OS analysis 4158 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 4/58 信号 ❖信号是很短的消息 ❖标准信号 ➢标准信号没有给参数、消息或是其他相随的信息留有 空间 ❖通常使用一个数字来标识一个信号 ❖信号可以被发送到一个进程或一组进程
软件中断的概念 冬信号的产生和处理方式跟中断有些相似 >信号是典型的异步事件 (当然也有一些事件是同步错误或异常) >大多数产生信号的事件对进程而言是随机出现 进程不可能做轮询来测试某个标志位或者变量来判别是否发生 了一个信号,而是必须告诉内核“在某个信号发生时,应该执 行如下操作”,这点跟中断处理例程相似,所以也不难理解标 准信号不带参数或者是其他的信息 跟硬件中断一样,任何动作,包括终止进程,都只能由接收到 信号的进程来执行,也就是在本进程的上下文中执行 Science and Techno 嵌入式系统实验室 2023/7/14 Linux OS analysis 5/58 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 5/58 软件中断的概念 ❖ 信号的产生和处理方式跟中断有些相似 ➢ 信号是典型的异步事件 (当然也有一些事件是同步错误或异常) ➢ 大多数产生信号的事件对进程而言是随机出现 ➢ 进程不可能做轮询来测试某个标志位或者变量来判别是否发生 了一个信号,而是必须告诉内核“在某个信号发生时,应该执 行如下操作”,这点跟中断处理例程相似,所以也不难理解标 准信号不带参数或者是其他的信息 ➢ 跟硬件中断一样,任何动作,包括终止进程,都只能由接收到 信号的进程来执行,也就是在本进程的上下文中执行
信号的作用 冬使用信号的两个主要目的是: >让进程知道已经发生了一个特定的事件 >强迫进程执行它自己代码中的信号处理程序 ●很多应用程序提供自己的信号处理程序 ● 系统也会定义一些缺省的信号处理程序 嵌入式系统实验室 2023/7/14 Linux OS analysis 6/58 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 6/58 信号的作用 ❖使用信号的两个主要目的是: ➢让进程知道已经发生了一个特定的事件 ➢强迫进程执行它自己代码中的信号处理程序 ⚫很多应用程序提供自己的信号处理程序 ⚫系统也会定义一些缺省的信号处理程序