linux下面程序崩溃时会产生core文件,该文件记录的内容是当时的事故现场,通过gbd调试程序可以加载core文件,从而将事故过程还原。
core dump的设置和 proc 虚拟文件系统下两个文件相关,分别是 /proc/sys/kernel/core_pattern 和 /proc/sys/kernel/core_users_pid
1、core_pattern文件是设置core文件存储的路径以及文件名,默认设置为 core,这时最新的core文件会覆盖旧的,同时对core文件产生的宿主无法判断。
可以通过一些参数进行设置,支持的参数如下:
%p ---- 进程id
%u ---- 用户id
%g ---- 用户所属组id
%s ---- 程序产生崩溃的信号
%t ---- 程序崩溃时的unix时间戳
%h ---- 当前主机名
%e ---- 进程名
例如 /home/admin/core/core_%e_%t 则core文件将保存在路径/home/admin/core下面,并且 名字格式为core_进程名_时间戳
2、core_users_pid 设置core文件的扩展名是否含有进程id 如果设置为1,则core文件名字加进程id加扩展名; 为0,core文件名字为core_pattern中设置
默认为0