在Linux的fork和kill之后停止创建核心转储文件

时间:2014-04-10 16:01:59

标签: c++ linux fork 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");
     }
 }

1 个答案:

答案 0 :(得分:2)

使用setrlimit标志并将限制值设置为零时,RLIMIT_CORE函数可用于防止核心转储。