有时在配置目录中没有生成 coredump 文件

No coredump file generated in configured directory sometimes

我将我的一个 Ubuntu1804 用户配置为转储,

 > ulimit  -a | grep core
 core file size          (blocks, -c) unlimited
 > cat /proc/sys/kernel/core_pattern
 /var/tmp/cores/core.%e.%p.%h.%t.%s
 > ls /var/tmp/cores/ -ld
 drwxrwxrwx 2 root root 36864 Mar 10 00:05 /var/tmp/cores/

我可以在/var/tmp/cores中获取大部分崩溃进程的核心转储,但有时某些由SIGTERM引起的崩溃进程在目录中没有核心转储文件。

我查看了进程丢失进程的日志,日志说中止信号是SIGTERM。

那么怎么没有转储文件呢?

如 man 7 signal 中所述,Linux 中的默认操作是在没有 coredump 的情况下终止。

Signal     Value     Action   Comment
────────────────────────────────────────────────────────
SIGTERM      15       Term    Termination signal