You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C++中优雅终止进程?调用对象析构且不生成核心转储

优雅终止进程的需求与问题

优雅终止定义:终止进程前调用局部/静态对象的析构函数(dtor),且不生成核心转储(coredump)。

我尝试过以下终止方法:

  • std::exit() (终止时生成核心转储)
  • std::_Exit()
  • std::abort() (终止时生成核心转储)
  • std::raise(SIGKILL)
  • std::terminate() (终止时生成核心转储)

上述方法都会立即终止进程,且不会调用局部/静态对象的析构函数。

当前面临的问题:代码库中出现不可容忍的错误,必须终止进程,但部分全局/局部对象(如日志器)需要在终止前执行析构函数完成收尾。


运行环境

  • 编译器:Clang 12
  • 操作系统:Linux 5.10.0-1
  • 架构:Aarch64

内容的提问来源于stack exchange,提问作者Ghasem Ramezani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 15:07:01