Linux file命令获取core文件所属进程问题

近期新系统测试时产生了大量core文件,把系统盘塞满了。

检测工具使用file命令,检测到某个进程的core文件数目大于3个,就把多余core文件删除,但是系统上线后,并没有删除多余的core文件。

原因在于 新OS系统中,file命令限制了解析program header数目,默认是128个,所以直接使用file命令看不到core文件对应的应用程序名称。

OS内核版本:

 FILE命令版本:

测试file命令获取core文件所属进程名称:

# gcore 1160141

生成core文件信息:

file命令查看所属进程信息,提示"too many program headers"

正确获取core文件所属进程名称方式:

新OS系统中,file命令默认只解析128个ELF program sections。

参考资料:

https://stackoverflow.com/questions/31328955/why-is-the-file-utility-telling-me-there-are-too-many-program-headers

原文地址:https://www.cnblogs.com/smith9527/p/14156797.html