我有如下所示的C ++函数,但它在Linux中创build了一个核心转储文件。 有没有办法阻止它创build核心转储文件?
PS:“version.out”有时会挂起,所以我正在创build一个新进程并在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"); } }
当使用RLIMIT_CORE
标志和限制值设置为0调用时, setrlimit
函数可用于防止核心转储。