信号

作者: GGBond_8488 | 来源:发表于2021-03-08 19:46 被阅读0次

信号

信号时事件发生时对进程的通知机制。有时也称为软件中断。信号与硬件中断的相似之处在于打断了程序执行的正常流程,大多数情况下,无法预测信号到达的精确时间。

一个进程能够向另一个进程发送信号,信号的这个用法可以作为进程间通信。进程也可以向自身发送信号。然而,发往进程的诸多信号,通常都是源于内核。引发内核为进程产生信号的各类事件如下。

  • 硬件异常:硬件检测到一个错误条件并通知内核,随即再有内核发送相应信号给相关进程。硬件异常的例子包括执行一条异常的机器语言指令,例如,被0除,或者引用无法访问的内存区域。

  • 用户键入了能够产生信号的终端特殊字符。其中包括中断字符(通常是Control-C)

  • 发生了软件事件。例如,针对文件描述符的输出变为有效,调整了终端窗口大小,定时器到期,进程执行的CPU事件超限,或者该进程的某个子进程退出。


总结

信号是发生某种事件的通知机制,可以由内核、另一进程或进程自身发送给进程。存在一系列的标准信号类型,每种都有唯一的编号和目的。

信号传递通常是异步行为,这意味着信号中断进程执行的位置是不可预测的。有时(比如,硬件产生的信号),信号也可以同步传递,这意味着在程序执行的某一点可以于其并重现信号的传递。

默认情况下,要么忽略信号,要么终止进程(生成或者不生成核心转储文件),要么停止一个正在运行的进程,要么重启一个已停止的进程。特定的默认行为取决于信号类型。此外,程序可以使用signal()或者sigaction()来显式忽略一个信号,或者建立一个由程序员自定义的信号处理器。

一个进程可以使用kill()向另一进程发送信号。发送空信号(0)是判断特定进程ID是否在用的方式之一。

每个进程都具有一个信号掩码,代表当前传递遭到阻塞的一组信号。使用sigprocmask()可从信号掩码中添加或者移除信号。

相关文章

  • 信号种类

    信号种类 信号分为可靠信号与不可靠信号,可靠信号又称为实时信号,非可靠信号又称为非实时信号。 不可靠信号 信号代码...

  • RAC的冷信号和热信号

    冷信号和热信号 什么是冷信号与热信号? Signal vs Subject 冷信号 -> 热信号 冷信号与热信号的...

  • 心理学手记--压力的预警信号

    心理信号 情绪信号 精神信号 行为信号

  • 信号与系统

    信号与系统 whye 信号 信号的分类 确定信号与不确定信号 确定信号 可以用函数表示的信号 不确定信号 不能用确...

  • 第一章信号与系统

    信号的分类 1.确定信号与随机信号 确定信号:信号可以用一个确定的时间函数表示随机信号:不满足确定信号定义的信号 ...

  • RAC学习之二

    RACSignal(信号)介绍: 核心思想:创建信号、订阅信号、发送信号 1、创建信号及发送信号 类方法创建RAC...

  • 03_读书笔记_RAC中的RACSubject

    RACSubject :信号提供者,自己可以充当信号,又能够发送信号 基本使用 过程分析 创建信号 订阅信号 发送信号

  • APUE信号

    第10章 信号 信号是软件中断 信号提供了一种处理异步事件的方法 10.2 信号概念 信号都以SIG开头 信号名都...

  • 得到专栏学习 3-29

    关键字:信号和反信号库克 加里·哈默尔 1.信号和反信号信号 和 反信号 是经济学概念,所谓信号,就是你做一些事情...

  • iOS_RAC进阶学习

    一、信号合并 (1)信号合并_Merge (2)信号合并_CombineLatest (3)信号合并_concat...

网友评论

      本文标题:信号

      本文链接:https://www.haomeiwen.com/subject/wuhsqltx.html