在 Linux 的分叉和杀死后停止创建核心转储文件

Stop creating core dump files after Linux's fork and kill

本文关键字:创建 核心 文件 转储 Linux 分叉      更新时间:2023-10-16

我有下面显示的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标志和限制值设置为零。