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

捕捉Unix信号

  1. 定义信号处理函数
  2. 设置信号处理
    struct sigaction sa;// 清空信号掩码,处理信号时不阻塞其他信号
    sigemptyset(&sa.sa_mask);// 设置信号处理函数
    sa.sa_handler = signal_handler;// 设置信号处理标志(可选)
    sa.sa_flags = SA_RESTART;  // 自动重启被信号中断的系统调用// 应用信号处理设置
    sigaction(SIGINT, &sa, nullptr);

    经过这两个步骤,当unix内核发出信号的时候,就可以进行捕获处理。

由于信号是异步发生,当qt中使用捕捉信号时,需要和QSocketNotifier结合使用,保证线程安全。

  1. 创建套接字。
  2. 创建QSocketNotifier对象,对套接字某个行为进行监听。
    QSocketNotifier(qintptr socket, QSocketNotifier::Type type, QObject *parent = nullptr)
  3. 创建信号与槽的连接,当监听对象行为发生变化时,发出activated信号。

http://www.xdnf.cn/news/5980.html

相关文章:

  • css 左右布局
  • 业务中台-典型技术栈选型(微服务、容器编排、分布式数据库、消息队列、服务监控、低代码等)
  • 鸿蒙OSUniApp 实现的二维码扫描与生成组件#三方框架 #Uniapp
  • STM32 实时时钟(RTC)详解
  • 【​​HTTPS基础概念与原理​】TLS握手过程详解​​
  • 常见相机焦段的分类及其应用
  • java加强 -stream流
  • 如何开发一款 Chrome 浏览器插件
  • 纯css实现蜂窝效果
  • [:, :, 1]和[:, :, 0] 的区别; `prompt_vector` 和 `embedding_matrix`的作用
  • LeetCode热题100--234.回文链表--简单
  • 【操作系统期末速成】①操作系统概述
  • JS逆向实战四:某查查请求头逆向解密
  • Java Garbage Collection: 深入解析自动内存管理机制
  • SpringBoot 3.0 开发简单接口
  • 芯片测试之Input Leakage Current(输入漏电流)Test全解析:从原理到实战
  • 火山引擎实时音视频 高代码跑通日志
  • AMS3xxi激光测距仪安装调试维护详解
  • LeetCode 热题 100 105. 从前序与中序遍历序列构造二叉树
  • OpenHarmony轻量系统--BearPi-Nano开发板网络程序测试
  • 图像识别与 OCR 应用实践
  • Spring Security与SaToken的对比
  • 分步启动容器操作指南
  • 一文辨析Java基本数据类型与包装类
  • 日志链路ID配置,traceId多线程不打印什么鬼?
  • 解锁 CPFR 潜力:电商智能补货优化算法的全链路设计与实战指南
  • 特征偏移、标签偏移、数量偏移、概念漂移分别是什么?
  • 不锈钢气动保温V型球阀:专为高粘度、颗粒介质设计的智能控温解决方案-耀圣
  • 【bag of n-grams】 N-gram词袋模型 简介
  • 物联网设备如何与互联网“牵手”