找到导致核心转储文件的程序

我最近一直在进行密集的程序/包安装,所以我无法确定哪些新安装的程序(或旧程序)导致我的主文件夹中出现core文件。 它是一个服务器,所以我最好找出机器上任何可能的不稳定来源。

好吧,事实certificate使用file实用程序可以更直接地识别出错误的程序:

 $ file core core: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from 'sqlplus' 

所以上面例子中的sqlplus将是主要的嫌疑人。

一种方法是将核心转储文件的名称设置为包含导致核心转储的进程的PID和名称:

 echo "core-%p-%e" | sudo tee /proc/sys/kernel/core_pattern 

这是一个工作的例子:

 ./example Segmentation fault (core dumped) ls core* core-4170-example 

有关如何使用core_pattern接口的更多详细信息,请参阅man 5 core