c++ 信号量
2015-07-23 17:59
239 查看
最近写了个c++项目,发现 ctrl + c 退出程序可以出发析构,但kill pid,则不会触发析构,导致现场数据丢失。 解决方案:同时捕捉以下信号。 signal(SIGINT, &完成命名空间::sigint_handler); //之前只捕获这一个信号。 signal(SIGPIPE, SIG_IGN); signal(SIGTERM, &完成命名空间::sigint_handler); 无论程序前台还是后台运行,析构函数都会被触发。且监控线程都会退出,且现场数据会被下发。 signal(SIGPIPE, SIG_IGN); signal(SIGTERM, &完成命名空间::sigint_handler); | 这两个应该是接收了 kill pid 信号。。。。。
相关文章推荐
- C++ Primer 复习杂记(第五章)
- C语言数据类型
- Java与C++实现相同的MD5加密算法
- 学习文章连载一
- c++实现多态的原理
- c语言二叉堆《学习记录》poj3253
- C++冒泡排序
- C++ Primer 复习杂记(第四章)
- C++静态变量使用方法
- Online Judge System For SzNOI 题库 语法百题 C++ d020
- 详解C++中的引用
- C++简单选择排序
- Online Judge System For SzNOI 题库 语法百题 C++ d019
- 嵌套循坏逐步求数组最大值并打印
- 【C++】C语言的关键字volatile有何作用?
- STL map常用操作简介
- C++ primer读书笔记 4
- Online Judge System For SzNOI 题库 语法百题 c++ d018
- Online Judge System For SzNOI 题库 语法百题 C++ d017
- Online Judge System For SzNOI 题库 语法百题 C++ d016