如何使用 apport 启用 SIGQUIT 核心转储?

如何使用 apport 启用 SIGQUIT 核心转储?

我注意到在 12.04 系统上设置ulimit -c unlimited和发送Ctrl+\没有得到预期的结果。

尽管贝壳上印着

^\zsh: quit (core dumped)

据我所知,没有写入核心转储。

该文件/proc/sys/kernel/core_pattern包含一个apport管道 - 因此,它似乎默认apport负责写入核心转储。

该目录/var/crash不包含我的应用程序的最新核心转储。

因此我的问题是:apport 是否忽略了 SIGQUIT 引起的核心转储?

如果是:

  • 这难道不应该被认为是一个错误吗?
  • 我如何配置 apport 以使其不忽略 SIGQUIT?

(作为一种解决方法,设置/proc/sys/kernel/core_patterncore预期工作,即core在按下 SIGQUIT 后,我在 CWD 中获得了一个名为“核心转储”的东西。)

答案1

是的,apport 忽略了 SIGQUIT,是的,在我看来这是一个错误。

我报告了https://bugs.launchpad.net/ubuntu/+source/apport/+bug/1153662已发布补丁并修复。

答案2

Apport 会在 SIGQUIT 上过滤 coredump。您可以在 Launchpad 上找到有关该问题的讨论(SIGQUIT 信号发生时,核心转储)。有很好的理由来改变这种行为,但不清楚 Ubuntu 是否会这样做。

相关内容