在 Linux 的分叉和杀死后停止创建核心转储文件
Stop creating core dump files after Linux's fork and kill
我有下面显示的C++函数,它可以工作,但它在Linux中创建了一个核心转储文件。有没有办法阻止它创建核心转储文件?
PS:"version.out"有时会挂起,所以我正在创建一个新进程,并在1秒后将其杀死,以避免程序挂起并在以后从/tmp/version获取输出。
void bVersion(void)
{
pid_t pid;
pid=fork();
if (pid == 0)
{
system("version.out > /tmp/version");
}
else
{
// wait for 1 second
sleep(1);
kill(pid, SIGTERM);
mverDir("/tmp/qnbversion");
system("rm /tmp/qnbversion");
}
}
setrlimit
函数可用于在使用调用时防止核心转储,并且RLIMIT_CORE
标志和限制值设置为零。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 使用std::multimap迭代器创建std::list
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 使用CMake创建QML插件
- 如何在c++中为模板函数实例创建快捷方式
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 试图在visual studio上用C++创建一个桌面应用程序
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 如何找出GDB的SIGTRAP核心转储的根本原因
- C++映射分割错误(核心转储)
- 使用 GLUT/FreeGLUT 创建核心上下文?
- DXGI_ERROR_INVALID_CALL为核心窗口创建交换链时
- 堆栈内存错误创建核心文件
- OpenCV:试图创建一个空白图像,但核心已被转储
- 核心基础为每次调用 CFSTR() 创建内存泄漏
- 创建共享库时核心转储
- 在 Linux 的分叉和杀死后停止创建核心转储文件
- 如何在核心转储中检查堆大小和创建的对象