linux下应用开发之按键信号结束线程

2023-11-03

linux应用层经常使用线程,在线程中while循环等待,或者应用中也会有while,那么如果自己写demo或者使用命令行运行,经常用到使用Ctrl + C键结束应用,比如main函数中加入signal信号处理,Stop就是信号处理回调函数

/** 主函数退出标志 */
static int g_isRun = 1;

/** 消息处理回调函数 */
void Stop(int signo) 
{
    g_isRun = 0;
}

void main()
{
	signal(SIGINT, Stop);
	g_isRun = 1;
	while(g_isRun)
	{
	    sleep(1);
	}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux下应用开发之按键信号结束线程 的相关文章

随机推荐

  • python: 处理表格日期的常用场景和方法

    1 提取日期 有时候我们只需要从日期中提取出年 月 日等信息 以便更好地进行数据分析和可视化 可以使用dt属性实现 创建一个数据集 df pd DataFrame date 2019 05 01 10 00 00 2020 07 12 12
  • 学了python究竟有什么用,实际应用场景有哪些?我整理了8个应用领域

    根据我多年python开发经验 python在工作中的实际应用 整理罗列如下 目录 1 网络爬虫 2 数据分析 3 数据可视化 4 web开发 5 自动化办公 6 自动化运维 7 自动化测试 8 人工智能 1 网络爬虫 Python开发爬虫
  • 互联网摸鱼日报(2023-02-04)

    互联网摸鱼日报 2023 02 04 InfoQ 热门话题 Instagram 如何推荐新内容 Twitter 将向开发者收取 API 访问费用 网友吐槽 这是在 作死 数字化关乎生存 企业如何明晰方向和路径 InfoQ数字化公众号上线啦
  • 机器学习(三):感知器算法实现鸢尾花分类项目实战

    上一章我们已经介绍了感知器算法规则 并且用python语言实现了 现在我们应用感知器学习规则进行鸢尾花分类实验 测试数据我们从鸢尾花数据集中挑选出了山鸢尾 Setosa 和变色鸢尾 Versicolor 两种花的信息作为测试数据 虽然感知器
  • 组装最大可靠性的设备

    from itertools import combinations class Solution def init self cost types self element info 元件 self cost cost 成本 self t
  • jQuery03(筛选&文档处理&CSS位置)

    目录 一 筛选 过滤 在jQuery对象数组中 过滤出一部分元素来 案例1 演示过滤所有的方法 查找 在jQuery对象数组中 根据选择器查找孩子 父母 兄弟标签 案例2 演示查找所有的方法 二 文档处理 一 增 1 1 内部插入 1 2
  • (2021,多原型网络)少样本3D点云语义分割

    Few shot 3D Point Cloud Semantic Segmentation 公众号 EDPJ 目录 0 摘要 0 1 关键词和名词解释 1 简介 2 相关工作 3 方法论 3 1 问题定义 3 2 基于attention的多
  • “智能合约”是如何部署的?

    我们都知道 智能合约是区块链网络中各个节点共同遵守的合约 或者说是合同 那么智能合约是如何部署和发挥功能的呢 个人技术公众号 解决方案工程师 欢迎同领域的朋友关注 相互交流 智能合约是Nick Szabo在1994年所提出的概念 是一种计算
  • 边缘计算浅析

    最近 新基建 是个热词 那么新基建到底是什么 与之紧密相关的5G何去何从 这给边缘计算带来了什么机遇 边缘计算的生态产业链条是怎样的 它的典型特征和经济效益是什么 本文将为大家带来分享 新基建是什么 近日 国家发改委官方首次明确了 新基建
  • 5G 的三大应用场景——ITU-R原文

    每次写 5G 的材料时都会提及 5G 的三大应用场景 虽然这是一个众人皆知的常识 但是如果不引用一下的话有些不严谨 苦于一直没找到 ITU 的原文 之前引用的都是移动通信教材那本书 今天狠下心来花时间找了原文 功夫不负有心人 可算给我找到了
  • 找出数组中第 k 小的数

    题目 给定整型数组 S 和整数 k S的长度为n 1 lt k lt n 请输出数组中第 k 小的数 输入的第一行为数组 S 的各个元素 输入的第二行为整数 k 测试案例 1 输入 3 1 2 5 4 6 3 输出 3 我相信大家的第一想法
  • 工程师如何对待开源

    工程师如何对待开源 本文是笔者作为一个在知名科技企业内从事开源相关工作超过 20 年的工程师 亲身经历或者亲眼目睹很多工程师对待开源软件的优秀实践 也看到了很多 Bad Cases 所以想把自己的一些心得体会写在这里 供工程师进行参考 希望
  • mongodb学习笔记–C++操作mongodb

    mongodb学习笔记 C 操作mongodb 在学习mongodb过程当中 必须学习的就是用C Java PHP C 等 操作mongodb 这里讲述C 操作mongodb 在官方提供的mongo cxx driver驱动中有相关的操作例
  • Golang手动安装包

    在写代码过程中经常需要import github com 官方推荐的为go get github com 下载后可以直接自动安装 但是国内由于墙的原因导致下载失败 在此介绍如何在Linux环境下手动安装go包 以 github com ma
  • [网络工程师]-网络规划与设计-需求分析

    1 建网目标分析 建网目标的分析内容包括最终目标分析和近期目标分析 1 1最终目标分析 最终目标分析内容包括 网络建设到怎样的规模 如何满足用户需求 采用的是否是TCP IP 体系结构是Intranet还是非Intranet 即是否为企业网
  • Oracle19c ORA-00904: “WMSYS“.“WM_CONCAT“: 标识符无效

    错误描述 oracle19c ORA 24344 成功 但出现编译错误 ORA 00904 WMSYS WM CONCAT 标识符无效 解决办法 设置实例 export ORACLE SID test1 首先使用dba账号登录oracle数
  • Java06-MyBatis如何实现多表查询(一对一、一对多)

    前提 总结这个文章的前提是要会基本的SQL语句 我用的MySQL 和JDBC的基本实现 在这个基础上 我们可以通过一些标签或者注解去实现对数据库的多表联查基于一对一和一对多的关系 第二点 我们在制作数据库时一定要考虑不同的表之间的关系 这种
  • openstack装配置 Neutron( 控制节点

    在控制节点 controller 安装 Neutron 服务 同时配置支持 vxlan 1 登录数据库创建 neutron 数据库 MariaDB none gt CREATE DATABASE neutron default charac
  • 【大数据】美团 DB 数据同步到数据仓库的架构与实践

    美团 DB 数据同步到数据仓库的架构与实践 1 背景 2 整体架构 3 Binlog 实时采集 4 离线还原 MySQL 数据 5 Kafka2Hive 6 对 Camus 的二次开发 7 Checkdone 的检测逻辑 8 Merge 9
  • linux下应用开发之按键信号结束线程

    linux应用层经常使用线程 在线程中while循环等待 或者应用中也会有while 那么如果自己写demo或者使用命令行运行 经常用到使用Ctrl C键结束应用 比如main函数中加入signal信号处理 Stop就是信号处理回调函数 主