【发布时间】:2011-03-31 04:22:35
【问题描述】:
我最近发现 Mac 将所有核心文件都保留在 /cores 目录中。
如果可能的话,很难说出是什么应用程序导致了核心转储。
想知道我是否可以将系统配置为保留可执行文件所在的内核,就像在 Linux 中一样。
谢谢
【问题讨论】:
-
这可能属于 SuperUser.com
我最近发现 Mac 将所有核心文件都保留在 /cores 目录中。
如果可能的话,很难说出是什么应用程序导致了核心转储。
想知道我是否可以将系统配置为保留可执行文件所在的内核,就像在 Linux 中一样。
谢谢
【问题讨论】:
嗯 - 也许您可以编辑 /etc/sysctl.conf 并帮助您自己指定 core_pattern?
kernel.core_pattern=/cores/core.%e.%p.%h.%t
也许这会帮助您了解更多关于哪个进程负责转储
【讨论】:
sysctl.conf 中没有这样的东西,但sysctl(8) 实用程序显示了这个配置变量:kern.corefile = /cores/core.%P
您可以使用 sysctl 命令来编辑 corefile 路径
sudo sysctl -w kern.corefile=/this/is/new/path
默认kern.corefile=/cores/core.%P,%P指的是进程ID。可以替换为%N => 进程名,%U => 用户名。可以查看源码here
如果要禁用核心转储,请使用以下命令
sudo sysctl -w kern.coredump=0
或编辑/etc/sysctl.conf,添加这一行
kern.coredump=0
【讨论】: