信号传递的两个不同阶段 义信号产生 >内核更新进程描述符中跟信号相关的数据结构来表示 一个信号被发送给了这个进程 必信号传递 >内核强迫目标进程通过以下方式对信号作出反映: ● 或改变目标进程的执行状态 或开始执行一个特定的信号处理程序 。或者两者都是 嵌入式系统实验室 2023/7/14 Linux OS analysis 17/58 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 17/58 信号传递的两个不同阶段 ❖信号产生 ➢内核更新进程描述符中跟信号相关的数据结构来表示 一个信号被发送给了这个进程 ❖信号传递 ➢内核强迫目标进程通过以下方式对信号作出反映: ⚫或改变目标进程的执行状态, ⚫或开始执行一个特定的信号处理程序, ⚫或者两者都是
挂起信号 ?已经产生但还没有传递的信号称为挂起信号。 必 任何时候,一个进程仅存在给定类型的一个挂起 信号,同一进程同种类型的其他信号不被排队, 只被简单的丢弃。 1958 嵌入式系统实验室 2023/7/14 Linux OS analysis 18/58 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 18/58 挂起信号 ❖已经产生但还没有传递的信号称为挂起信号。 ❖任何时候,一个进程仅存在给定类型的一个挂起 信号,同一进程同种类型的其他信号不被排队, 只被简单的丢弃
冬信号的挂起时间长度往往不可预知,原因在于: >信号通常只被currenti进程传递 >进程可以选择阻塞某种信号。 这种情况下,在取消阻塞之前进程将不接收这个信号 > 当进程执行一个信号处理程序函数时,通常屏蔽相应 的信号,即自动阻塞这个信号直到处理程序结束。因 此,所处理的信号的另一次出现不能中断信号处理程 序 MrScience and TTechno 嵌入式系统实验室 2023/7/14 Linux OS analysis 19/58 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 19/58 ❖信号的挂起时间长度往往不可预知,原因在于: ➢信号通常只被current进程传递 ➢进程可以选择阻塞某种信号。 这种情况下,在取消阻塞之前进程将不接收这个信号 ➢当进程执行一个信号处理程序函数时,通常屏蔽相应 的信号,即自动阻塞这个信号直到处理程序结束。因 此,所处理的信号的另一次出现不能中断信号处理程 序
信号的应答方式和响应时机 冬进程以三种方式对一个信号做出应答 1,显式的忽略这个信号 ●多数信号都可以使用这种方式进行处理。 958 2,执行系统默认的缺省操作,可以是: ●Terminate:进程被杀死 Dump:进程被杀死,且如果可能,创建包含进程上下文的 可用于调试的core文件 Science and Techil 嵌入式系统实验室 2023/7/14 Linux OS analysis 20/58 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS analysis 20/58 信号的应答方式和响应时机 ❖进程以三种方式对一个信号做出应答 1,显式的忽略这个信号 ⚫多数信号都可以使用这种方式进行处理。 2,执行系统默认的缺省操作,可以是: ⚫Terminate:进程被杀死 ⚫Dump:进程被杀死,且如果可能,创建包含进程上下文的 可用于调试的core文件