当前位置: 首页 > news >正文

信号可靠性剖析

问题

基于信号发送的进程间通信方式可靠吗???

信号查看(kill -l)

信号的分类

不可靠信号 (传统信号)

  • 信号值在 [1, 31] 之间的所有信号

可靠信号 (实时信号)

  • 信号值在 [SIGRTMIN,SIGRTMAX],即:[34,64]
  • SIGRTMIN => 34
  • SIGRTMAX => 64

信号小知识

信号 32 与信号 33 (SIGCANCEL & SIGSETXID) 被NPTL 线程库征用

NPTL => Native Posix  Threading Library

  • 即:POSIX 线程标准库,Linux 可以使用这个库进行多线程编程

对于 Linux 内核,信号 32 是最小的可靠信号

SIGRTMIN 在 signal.h 中定义,不同平台的 linux 可能不同 (arm linux)

不可靠信号 vs 可靠信号

不可靠信号

  • 内核不保证信号可以递送到目标进程 (内核对信号状态进行标记)
  • 如果信号处于未决状态,并且相同信号被发送,内核丢弃后续相同信号

可靠信号

  • 内核维护信号队列,未决信号位于队列中,因此信号不会被丢弃
  • 严格意义上,信号队列有上限,因此不可以无限制保存可靠信号

一些注意事项。。。

不可靠信号的默认处理行为可能不同 (忽略,结束)

可靠信号的默认处理行为都是结束进程

信号的可靠性由信号数值决定,与发送方式无关

信号队列的上限可通过命令设置

查询信号队列上限:ulimit -i

设置信号队列上限:ulimit -i 1000

相关文章:

  • JVM之四种引用类型(五)
  • 使用 OpenFunction 在任何基础设施上运行 Serverless 工作负载
  • Python网络爬虫环境的安装指南
  • ES6中 对象合并
  • C++作业6
  • 第3章 接入网
  • VUE学习笔记(表单数据收集)
  • uniapp 在app端 使用webview进行数据交互。
  • 【计算机组成体系结构】主存储器的基本组成
  • 两数之和 三数之和 哈希方法
  • Zabbix HA高可用集群搭建
  • uniapp中wx.getSystemInfoSync() 或 wx.getSystemInfo() 踩坑
  • Burp suite抓虚拟机的包
  • 中标!世界500强中信集团携手道本科技共建风险管理应用三期建设项目
  • 三、C语言常见概念
  • Apache的80端口被占用以及访问时报错403
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • Bytom交易说明(账户管理模式)
  • CEF与代理
  • Date型的使用
  • HTTP中GET与POST的区别 99%的错误认识
  • js如何打印object对象
  • MQ框架的比较
  • MYSQL 的 IF 函数
  • mysql_config not found
  • Promise初体验
  • python docx文档转html页面
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • VUE es6技巧写法(持续更新中~~~)
  • 关于Flux,Vuex,Redux的思考
  • 每天一个设计模式之命令模式
  • 排序算法之--选择排序
  • 前端相关框架总和
  • 入门级的git使用指北
  • 深入浅出webpack学习(1)--核心概念
  • 实现菜单下拉伸展折叠效果demo
  • Semaphore
  • ​虚拟化系列介绍(十)
  • #pragma pack(1)
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (39)STM32——FLASH闪存
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (理论篇)httpmoudle和httphandler一览
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十八)三元表达式和列表解析
  • ./configure、make、make install 命令
  • .NET Micro Framework初体验(二)
  • .Net 代码性能 - (1)
  • .NET 中让 Task 支持带超时的异步等待
  • .NET委托:一个关于C#的睡前故事
  • .sdf和.msp文件读取