没有为 systemd 服务生成核心转储

Posted

技术标签:

【中文标题】没有为 systemd 服务生成核心转储【英文标题】:no core dump generated for systemd service 【发布时间】:2018-01-17 10:17:39 【问题描述】:

我想为提供 SEGV 状态并退出的 systemd 服务启用核心转储生成。

scd.service:主进程退出,code=killed,status=11/SEGV

单元 scd.service 进入失败状态。

scd.service 失败。

我的 bashrc 文件已经有 ulimit -c unlimited。

运行 systemd-coredumpctl 后输出为

未找到核心转储。

注意:我可以为通过终端执行的普通程序生成核心转储,但无法为 systemd 服务生成核心转储

【问题讨论】:

只是为了澄清您需要在您的服务文件 (scd.service) 中设置 LimitCORE=Infinity,而不是您的 bashrc 感谢您的建议成功 我会添加一个答案,这样你就可以接受这个答案,这样其他有相同问题的人就可以看到这个答案了 【参考方案1】:

您需要在您的服务文件 (scd.service) 中设置 LimitCORE=infinity,而不是在您的 bashrc 中。

更多信息https://www.freedesktop.org/software/systemd/man/systemd.exec.html#Process%20Properties

【讨论】:

以上是关于没有为 systemd 服务生成核心转储的主要内容,如果未能解决你的问题,请参考以下文章

SIGABRT 不会在 MacOS 中生成核心转储

[svc]centos7的服务治理-systemd

如何检测在 OS X 上生成特定核心转储的应用程序?

Linux Simple Systemd Service Guide

Sun JDK 能否在 JVM 崩溃时生成核心/堆转储文件?

OSX 10.10,如何在睡眠和恐慌后生成核心转储文件?