" POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,
缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各
种UNIX操作系统上运行的软件而定义的一系列API标准的总称.POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系
统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。" 

POSIX标准对多线程情况下的信号机制提出来一些要求:

1. 信号处理函数必须在多线程进程的所有线程间共享,但是每个线程要有自己的挂起信号集合和阻塞信号掩码。

2. POSIX函数kill/sigqueue必须面向进程,而不是进程下某个特定的线程。

3. 发送给多线程应用的信号仅递送给一个线程,这个线程是由内核从不会阻塞该信号的线程中随意选出来的。

4. 如果发送一个致命信号到多线程,那么内核将杀死该应用的所有线程,而不仅仅是接收信号的那个线程。

基本上Linux也都遵循这些需求。

参考资料:

1. 《Linux环境编程,从应用到内核》高峰,李彬著

Linux信号 六 信号与线程的关系相关推荐

  1. Linux信号 一 信号可靠性与分类

    开发SNMP的时候用到了Linux信号机制,总结了一下关于信号的知识. 信号是一种进程间通信手段,本质是一种软件中断,用来处理异步事件.信号机制是Unix家族里一个古老的通信机制.传统的信号机制有一些 ...

  2. linux exec 二程序,二十五、Linux 进程与信号---exec函数

    25.1 介绍 在用 fork 函数创建子进程后,子进程往往要调用一种 exec 函数以执行另一个程序 当进程调用一种 exec 函数时,该进程完全由新程序代换,替换原有进程的正文,而新程序则从其 m ...

  3. 【B站视频笔记】linux 进程间通信(ipc)信号(软中断信号)signal库函数、可靠信号和不可靠信号、信号集sigprocmask(信号掩码、信号递达Delivery、信号未决Pending)

    [视频教程]Linux信号详解(可靠信号.不可靠信号.阻塞信号.信号处理函数) [博文]Linux信号 文章目录 背景 课程笔记 一.如何让程序在后台运行 1.加"&"符号 ...

  4. 转载 骏马金龙第9章 Linux进程和信号超详细分析

    本文原创地址:骏马金龙https://www.cnblogs.com/f-ck-need-u/p/7058920.html 9.1 进程简单说明 进程是一个非常复杂的概念,涉及的内容也非常非常多.在这 ...

  5. linux内核定义的常用信号6,Linux中的信号

    在 Linux 中,理解信号的概念是非常重要的.这是因为,信号被用于通过 Linux 命令行所做的一些常见活动中.例如,每当你按 Ctrl+C 组合键来从命令行终结一个命令的执行,你就使用了信号.每当 ...

  6. linux系统发送信号的系统调用是,linux系统编程之信号:信号发送函数sigqueue和信号安装函数sigaction...

    信号发送函数sigqueue和信号安装函数sigaction sigaction函数用于改变进程接收到特定信号后的行为. sigqueue()是比较新的发送信号系统调用,主要是针对实时信号提出的(当然 ...

  7. linux 程序收到sigsegv信号_信号

    当其他方式不起作用时(例如标准输入被冻结),信号是提供低优先级信息和用户与其程序交互的便捷方式.它们允许程序在事件发生时清理或执行操作.有时,程序可以选择忽略受支持的事件.由于处理信号的方式,制作一个 ...

  8. Linux信号 五 信号挂起与信号掩码操作接口集

    A signal may be blocked, which means that it will not be delivered until it is later unblocked. Betw ...

  9. linux 信号_Linux信号机制

    信号就是一条消息,通知进程系统中发生了什么事,每种信号都对应着某种系统事件.一般的底层硬件异常是由内核的异常处理程序处理的,它对用户进程来说是透明的.而信号机制,提供了一种方法通知用户进程发生了这些异 ...

最新文章

  1. 亿级流量电商系统JVM性能调优实战
  2. WCF第一个Demo
  3. 聊聊ajax,聊聊Ajax()中data()基本知识以及实例分析
  4. ipix matlab,IPIX-radar-data-for-matlab 网上提供的IPIX雷达数据导入matlab中用作算法验证等用途 - 下载 - 搜珍网...
  5. 【杭州云栖】飞天技术汇大视频专场:全民视频时代下的创新技术之路
  6. 递归反转链表改变原链表吗_在不使用递归的情况下找到链表的长度
  7. Java中的变量数据类型补充
  8. 第 4 章 MySQL 锁机制
  9. FTP服务器的搭建及创建虚拟用户进行认证访问
  10. 1g的树莓派4b能做什么_树莓派4B系统安装及配置
  11. VC11、VC14、VC15库对应VisualStudio编译版本
  12. Python 最频繁使用的4个函数:lambda、 map、filter 和 reduce
  13. iertutil.dll文件缺失/ 修复方法
  14. 【数据分析能力是指什么?】
  15. ubutu16.04台式机没有声音处理方法
  16. 树大总结(王道+红皮书)
  17. 公众号点击图片变成另一张_公众号互动内容:小众潮流or下一个风口?
  18. 观李筱懿视频号有感:不要让所谓的大度变成对自己的道德绑架
  19. xmind设置成中文_XMind中文版使用教程:创建和使用思维导图模板
  20. 计算机毕业设计 SSM汽车租赁管理系统(源码+论文)

热门文章

  1. Centos 7 安装LAMP环境
  2. 关于内存管理-提前释放的问题
  3. javaScript初学者易错点
  4. 松开手,你可以拥有更多
  5. python 预编译命令_Python子进程调用预编译j
  6. python安装mysqlclient报错_Centos 6 – sudo在为Python 3.4安装mysqlclient时...
  7. 怎样才算全面的分类?
  8. 神经分类行为中的引力与斥力
  9. 怎么用计算机解开手机,怎么用电脑解开手机锁
  10. Ubuntu apt-get 源详解