每个会话的进程核心文件的格式文件名

每个会话的进程核心文件的格式文件名

有没有办法更改每个会话的核心文件名格式,而不是整个机器的格式?
在 Linux 上,我能找到的唯一方法是以 root 身份使用 sysctl:

sudo /sbin/sysctl -w "kernel.core_pattern=core-%H-%N-%P"

在 Solaris 上,root 也存在同样的问题

coreadm -g core-%n-%f-%p

但不幸的是,这两个命令都会永久改变所有用户的系统,这是我希望避免的。

我想要的是能够在我的 .bashrc 中放置一个命令,并且作为非特权用户将我的核心文件放置并命名在我想要的位置。

编辑:

刚刚发现你可以在 Solaris 中使用

coreadm -p core-%n-%f-%p $$

有谁了解 Linux 吗?

答案1

据我所知,在 Linux 上,核心文件名模式是一个全局内核设置。

核心文件名由以下因素决定:format_corenamefs/exec.c。它是根据corename变量,仅通过kernel.core_pattern 系统控制

但也许可以通过将核心模式设置为 来获得您想要的行为|/path/to/foo %h %p,这会导致核心文件内容被传输到/path/to/foo可执行文件中。请注意,管道后面的内容是按空格拆分成单词

相关内容