Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 为什么进程在没有coredump的情况下异常终止? 我在这样一个问题上遇到了问题:当异常异常>时,我的C++服务器程序不能CORDEMP。在chdir为“/”的模式下运行的程序_Linux_Coredump - Fatal编程技术网

Linux 为什么进程在没有coredump的情况下异常终止? 我在这样一个问题上遇到了问题:当异常异常>时,我的C++服务器程序不能CORDEMP。在chdir为“/”的模式下运行的程序

Linux 为什么进程在没有coredump的情况下异常终止? 我在这样一个问题上遇到了问题:当异常异常>时,我的C++服务器程序不能CORDEMP。在chdir为“/”的模式下运行的程序,linux,coredump,Linux,Coredump,我做了以下几件事: ulimit-c不受限制,因此启用了coredump echo“/tmp/coredump/core.%e.%p.%t”>/proc/sys/kernel/core_模式,chmod a+w coredump,因此它有权写入coredump文件 我尝试过这样的事情: 通过kill-6发送一个SIGABRT,它可以卸载 在dmesg中,我找不到有关异常终止进程的任何信息 不在守护进程模式下运行程序 我的操作系统版本:CentOS 6.4版(最终版),x86_64 服务器程序安装

我做了以下几件事:

  • ulimit-c不受限制,因此启用了coredump
  • echo“/tmp/coredump/core.%e.%p.%t”>/proc/sys/kernel/core_模式,chmod a+w coredump,因此它有权写入coredump文件
  • 我尝试过这样的事情:

  • 通过kill-6发送一个SIGABRT,它可以卸载
  • 在dmesg中,我找不到有关异常终止进程的任何信息
  • 不在守护进程模式下运行程序
  • 我的操作系统版本:CentOS 6.4版(最终版),x86_64


    服务器程序安装了一个信号处理程序(sigaction(),带有标志SA_RESETHAND)来捕获正常终止(空闲资源)的信号{SIGHUP,SIGINT,SIGQUIT,SIGTERM}。因此,它可以排除信号屏蔽。

    您的/tmp/coredump/目录上的权限是什么?完成:chmod a+w coredump虽然这通常会起作用(只要您的umask在创建/tmp/coredumps/时是默认的),请仔细检查它是否具有适当的权限。这要么是权限问题,要么是进程从您的
    ulimit-c unlimited
    无效的地方运行(例如,从init脚本,或从另一个shell等),要么是某些代码安装了一个信号处理程序,该处理程序没有为SIGABRT进行coredump)ulimit-c unlimited被确认生效。稍后我将显示信号处理程序代码。然后我建议您运行此代码:在与您自己的代码100%相同的上下文中,检查其行为是否相同,以及/tmp/coredump/lim.txt是否正确。