ubuntu18, ubuntu20 下如何生成core文件
原来在ubuntu14,ubuntu16上只需要一步就能生成core文件.
$ ulimit -c unlimited
但是ubuntu18, ubuntu20 启用了systemd 系统管理, 想要开启生成core文件,
需要3步, 前面2步是铺垫.
1. 设置core 文件的格式
打开 /etc/sysctl.conf , 在底部加上如下2行, 设置生成的core文件格式, 你也可以设置成简单格式
# %e-execute name, %p-process %s-siganl that cause coredump
kernel.core_pattern=core-%e-%p-%s
2. 禁用apport 服务, 有这个服务运行还是不能生成core 文件
$ sudo systemctl disable apport.service
3. 然后就可以像以前一样打开或关闭core 文件了.
用 $ ulimit -c unlimited 来打开core dump 文件
亲测成功! 估计关键是第2条apport 服务禁用了core文件生成.
补充说明:
不做第一步, 将会在本地生成不带任何修饰的core文件, 也许这就是你想要的.
如果你是第一次实验生成core文件, 因为此时apport.service 已经启动,除了disable 它之外, 还要stop 它, 使它不要干扰你生成core文件, 省掉了你重启的麻烦.