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

linux学习第26天(信号集)

信号集操作函数

信号集就是一个整数,这整数32位你自己设置,设置好了和系统的mask进行位操作

        sigset_t set:自定义信号集

        sigemptyset(sigset_t *set):清空信号集

        sigfillset(sigset_t *set):全部置1

        sigaddset(sigset_t *set,int signum):将一个信号添加到集合中

        sigdelset(sigset_t *set,int signum):将一个信息集合中移除

        sigismember(const sigset_t *set,int signum):判断一个信号是否在集合中。在--》1,不在--》0

设置信号屏蔽字和解除屏蔽

        int sigprocmask(int how, const sigset_t set,sigset_t *oldset)

                how:

                        SIG_BLOCK:设置阻塞

                        SIG_UNBLOCK:取消阻塞

                        SIG_SETMASK:自定义set替换mask

                set:自定义set

                oldset:旧有的mask

查看未决信号集

        int sigpending(sigset_t *set)

                set:传出未决信号集

例子

先阻塞^C和^\,然后执行kill命令

可以看到还是能被KILL杀死,说明,阻塞对9号kill无用(19号也是如此),但是对其他还是有效,比如^C和^\无效了

signal实现信号捕捉

输入^C

sigaction实现信号捕捉

在这时候,只能使用kill命令才能中断

http://www.lqws.cn/news/560809.html

相关文章:

  • llm 基本案例实现
  • 从OCR瓶颈到结构化理解来有效提升RAG的效果
  • C++ - 浅看vector源码
  • SpringBoot -- 以 jar 包运行(以及常见错误分析)
  • HarmonyOS NEXT仓颉开发语言实战案例:动态广场
  • Java面试题030:一文深入了解MySQL(2)
  • SpringMVC系列(六)(Restful架构风格(中))
  • Python助力自动驾驶:深度学习模型优化全攻略
  • 什么是 PoS(权益证明)
  • 如何用VS Code、Sublime Text开发51单片机
  • uni-app subPackages 分包加载:优化应用性能的利器
  • Geollama 辅助笔记:raw_to_prompt_strings_geo.py
  • IDEA2024.3 tomcat需要按两次停止按钮停止问题
  • 区块链使用那些技术?
  • 太速科技-670-3U VPX PCIe桥扩展3路M.2高速存储模块
  • Linux测试是否能联网
  • 大事件项目记录8-文章分类接口开发-文章分类列表
  • 2025年健康医疗大数据开放共享:现状、挑战与未来发展
  • 计算机操作系统(十七)内存管理
  • Grab×亚矩阵云手机:以“云端超级节点”重塑东南亚出行与数字生活生态
  • 用鸿蒙打造真正的跨设备数据库:从零实现分布式存储
  • 【AI智能体】Dify 核心组件从使用到实战操作详解
  • 信号处理学习——文献精读与code复现之TFN——嵌入时频变换的可解释神经网络(上)
  • 数据湖 vs 数据仓库:数据界的“自来水厂”与“瓶装水厂”?
  • 阿里 Qwen3 模型更新,吉卜力风格get
  • 对话式数据分析与Text2SQL Agent产品可行性分析思考
  • 安卓中静态和动态添加子 View 到容器
  • Zotero 7 插件:翻译与护眼主题
  • 如何快速学习一门新编程语言
  • 使用asyncio构建高性能网络爬虫