使用systemd启用coredump centos 7

一些谷歌search后,我经历了几篇文章,但似乎没有工作。

我正在使用Centos 7。

让我解释我到目前为止做了什么。

我一步一步跟着

http://www.kibinlabs.com/re-enabling-core-dumps-redhat-7/

之后,我可以得到coredump生成,但只有当我手动启动的过程,但是,当我开始像

systemctl start <myprocess> 

用SEGV杀死后不会产生coredump

 kill -11 <pid> 

var / log / messages显示它获得了SEGV信号,但是我不能看到coredump。

内核的核心模式也被设置。

 cat /proc/sys/kernel/core_pattern /var/lib/coredumps/core-%e-sig%s-user%u-group%g-pid%p-time%t coredump.conf cat /etc/sysctl.d/50-coredump.conf Storage=both cat /etc/sysctl.d/99-sysctl.conf fs.suid_dumpable = 1 kernel.core_uses_pid = 1 Storage=both [root@server01 coredumps]# ls -l /etc/sysctl.d/50-coredump.conf lrwxrwxrwx 1 root root 26 Aug 6 13:51 /etc/sysctl.d/50-coredump.conf -> /etc/systemd/coredump.conf 

我相信你可能试图杀死SUID位设置的守护进程。

在这种情况下,您将需要使用fs.suid_dumpable = 2

另一件事情是确保在保存核心转储的整个path上的权限具有适当的权限。

在你的情况下,这意味着用户需要能够在/var/lib上执行/var ,并能够在/var/lib/coredumps写入。

这里的用户实际上是拥有被杀死进程的用户,而不是用户杀死进程。