利用core_pattern實現core文件的配置和管理


參考:https://xz.aliyun.com/t/1098

這里所說的core_pattern 指的是:/proc/sys/kernel/core_pattern。 我們知道在Linux系統中,如果進程崩潰了,系統內核會捕獲到進程崩潰信息,然后將進程的coredump 信息寫入到文件中,這個文件名默認是core,但是也可以通過配置修改這個文件名。比如可以通過修改/proc/sys/kernel/core_pattern 文件的內容來指定。

Linux man 手冊上關於core_pattern的描述:http://man7.org/linux/man-pages/man5/core.5.html

自Linux 內核2.6.19 之后 core_pattern 不僅僅可以包含一個指定報文coredump信息的文件名,還可以是Linux 管道加一個用戶空間的程序或者一個腳本:

如果core_pattern 中第一個字符是 Linux管道符 |, 那么Linux 內核在捕獲進程崩潰信息的時候,就會以root權限執行管道符后門的程序或者腳本,將進程崩潰信息傳遞給這個程序或者腳本。

core文件會以標准輸入的形式傳給core_pattern中配置的腳本,在腳本里面可以將輸入重定向到自己需要的目錄,並且可以在重定向的過程中進行壓縮。另外,可以在重定向寫入文件之前對已有的core文件進行清理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM