社区
Linux/Unix社区
帖子详情
在LINUX下,我直接CTRL+C退出程序,类的析构并没有执行,为什么啊?
wj025
2008-01-18 10:06:55
怎样让程序在异常结束时,也执行析构函数.我想LINUX中是否有一种方法,可以在程序异常结束时,释放资源呢???
...全文
2266
6
打赏
收藏
在LINUX下,我直接CTRL+C退出程序,类的析构并没有执行,为什么啊?
怎样让程序在异常结束时,也执行析构函数.我想LINUX中是否有一种方法,可以在程序异常结束时,释放资源呢???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Army123
2008-01-24
打赏
举报
回复
捕捉信号!!!
悠悠长风
2008-01-18
打赏
举报
回复
肯定的捕捉一些信号,不用所有的SIGQUIT, SIGTERM, SIGPIPE等。
不过楼主你要是放的资源都有什么啊,
像内存,和信号量(只要不是系统的)都会随着你这个进程的结束,而销毁的
xinshuow
2008-01-18
打赏
举报
回复
当在终端按Crtl+c 时向当前进程发送信号: SIGINT
当在终端输入kill id 杀死一个进程时,发送信号: SIGTERM
下面这个程序时验证上面的含义, 我把 SIGINT 和SIGTERM 信号全部截获下来了,
此时这个程序通过ctrl+c 和kill 是杀不死的.
#include <signal.h>
#include <stdio.h>
void func1()
{
printf("SIGINT \n");
}
void func2()
{
printf("SIGTERM \n");
}
int main()
{
signal (SIGINT, func1);
signal ( SIGTERM, func2);
while(1);
}
/****************************************************/
杀死一个或者一系列进程,通常先尝试最小危险的信号 SIGTERM。那样,
关心按次序关机的程序得到设计来执行当收到类似清理关闭打开文件的 SIGTERM 信号。
如果你向一个进程发送一个 SIGKILL 信号,你就把进程在关闭前进行清理工作的机会给剥夺了,
可能造成意想不到的后果.
-- 插入 --
wj025
2008-01-18
打赏
举报
回复
我是想释放进程建立的系统核心资源(比如:信号量).
是否必须要通过捕捉信号来释放啊?那要捕捉所有的信号啊?
是否有好点的方法啊?
yecheng_110
2008-01-18
打赏
举报
回复
CTRL+C的时候给进程发出SIGINT信号
如果你不对这个信号处理的话 默认的动作就是退出
如果你想在用户按下CTRL+C的时候作出相应的动作 就需要捕获这个信号并处理
进程结束时 进程占用的资源就会由操作系统释放
hanb99
2008-01-18
打赏
举报
回复
程序已经异常了,如果想作操作(执行析构函数),那么只能自已去捕捉这个异常,再执行。
CTRL+C不行,它应该是系统强制退出。
当程序结束时,会自动释放资源的
易语言
程序
免安装版下载
修改BUG:高级表格在列
类
型为数值型时,添加新行且省略标题的情况下,会导致
程序
异常。 16. 修改BUG:数值计算支持库“大数.四舍五入()”命令在最高位进位时,会导致
程序
异常。 17. 修改BUG:办公组件支持库打印...
python简明教程笔记.pdf
在
Linux
或Windows中,使用特定快捷键组合(如
Ctrl
-d或
Ctrl
-z+Enter)可以
退出
交互式提示符。 2. **编写与运行
程序
**:Python源代码文件通常以.py为扩展名。文件权限设置为可
执行
后,通过`$ python 文件名.py`运行。...
python_note.pdf
- 如何在
Linux
环境下安装PyCharm,包括下载、解压、移动安装目录以及创建桌面启动器。 4. Python中的数据
类
型和操作: - 基本数据
类
型:字符串(str),整数(int),浮点数(float),布尔值(bool)等。 - ...
C/C++注册
CTRL
+C
退出
程序
#include <signal.h> static bool g_bStop = false; void inner_signal_handler(int signum) { g_bStop = true; } static void InnerRegisterSigaction() { struct sigaction act;... act.sa_handl...
Linux
下C/C++
程序
处理
Ctrl
+C的例子
遇到一个场景:
程序
要读入文件,而用户在使用文件时...(好吧这个用户就是测试我们作业的助教……)而/dev/urandom显然是
没有
EOF的,只有用
Ctrl
+C的方法结束输入。但是
Ctrl
+C也会同时结束
程序
,造成不用刻预测的结
Linux/Unix社区
23,218
社区成员
74,543
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章