今天寫了個生成coredump的c++程序,發現單獨執行程序時能正常生成coredump文件(ulimit -c設置爲unlimited)。c++
可是在用systemd配置服務啓動時發現不會生成coredump文件,systemd的service配置文件裏已經添加了LimitCORE=infinity參數。spa
緣由及解決辦法:code
查看coredump配置:it
# cat /proc/sys/kernel/core_pattern core
發現爲默認設置。systemd不生成coredump的緣由是由於pattern裏沒設置路徑,加上路徑便可,如/tmp/core-%e-%p,便可解決問題配置