天天看點

Linux使用筆記: 定制core dump檔案的檔案名

上面的指令表示在程式異常時産生core dump檔案,并且不對core dump檔案的大小進行限制。

上述設定隻是使能了core dump功能,預設情況下,核心在coredump時所産生的core檔案放在與該程式相同的目錄中,并且檔案名固定為core。很顯然,如果有多個程式産生core檔案,或者同一個程式多次崩潰,就會重複覆寫同一個core檔案。

我們通過修改kernel的參數,可以指定核心所生成的coredump檔案的檔案名。例如,Easwy使用下面的指令使kernel生成名字為core.filename.pid格式的core dump檔案:

這樣配置後,産生的core檔案中将帶有崩潰的程式名、以及它的程序ID。上面的%e和%p會被替換成程式檔案名以及程序ID。

可以在core_pattern模闆中使用變量還很多,見下面的清單:

%% 單個%字元

%p 所dump程序的程序ID

%u 所dump程序的實際使用者ID

%g 所dump程序的實際組ID

%s 導緻本次core dump的信号

%t core dump的時間 (由1970年1月1日計起的秒數)

%h 主機名

%e 程式檔案名

如果在上述檔案名中包含目錄分隔符”/“,那麼所生成的core檔案将會被放到指定的目錄中。

需要說明的是,在核心中還有一個與coredump相關的設定,就是/proc/sys/kernel/core_uses_pid。如果這個檔案的内容被配置成1,那麼即使core_pattern中沒有設定%p,最後生成的core dump檔案名仍會加上程序ID。

本文轉自莫水千流部落格園部落格,原文連結:http://www.cnblogs.com/zhoug2020/p/6038084.html,如需轉載請自行聯系原作者

繼續閱讀