我遇到了一个问题,我的c服务器程序 can't coredump when terminate abnormally . 程序在daemon模式下运行,chdir为'/' .
我做了以下事情:
-
ulimit -c unlimited,因此启用了coredump .
-
echo "/tmp/coredump/core.%e.%p.%t"> / proc / sys / kernel / core_pattern,chmod a w coredump,因此它有权写入coredump文件 .
我尝试过这样的事情:
-
通过kill -6发送SIGABRT,它可以coredump .
-
在dmesg中,我找不到有关异常终止进程的任何信息 .
-
运行程序未处于守护进程模式 .
我的操作系统版本:CentOS版本6.4(最终版),x86_64
PS . 服务器程序安装了一个信号处理程序(带有标志SA_RESETHAND的sigaction())来捕获这些信号{SIGHUP,SIGINT,SIGQUIT,SIGTERM}以正常终止(空闲资源) . 所以它可以排除信号屏蔽 .