我有下面显示的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");
}
}
答案 0 :(得分:2)
使用setrlimit
标志并将限制值设置为零时,RLIMIT_CORE
函数可用于防止核心转储。