我尝试将核心转储放在主目录中,但不知何故,以 开头的核心模式~
不起作用,而使用完整路径则正常工作。似乎找不到此规则文档。
不工作,没有生成核心转储:
sysctl -w kernel.core_pattern=~/.coredump/%E.%t.core
工作中,生成核心转储:
sysctl -w kernel.core_pattern=/home/$USER/.coredump/%E.%t.core
为何这些线路的工作方式不同?只有我的机器有这种情况吗?
答案1
在第一个命令中,替换~
尚未完成。如果您稍后检查此 sysctl 变量的值,您会看到这一点。路径应该是绝对路径。
这~
是 shell 的一个特性。并不是每个 shell 都实现了它。最好使用$HOME
环境变量由 POSIX 定义。