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

有没有办法改变每个会话的核心文件名格式,而不是整个机器?
在Linux上,我能find的唯一方法是使用sysctl作为root用户:

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

在Solaris同样的问题与根

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

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

我想要的是能够把一个命令放在我的.bashrc中,并且作为一个非priv用户,我的核心文件被放置并命名在我想要的地方。

编辑:

刚刚发现你可以在solaris上做这个

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

有谁知道Linux?

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

核心文件名由fs/exec.c确定。 它是从corenamevariables中计算出来的,它只能通过kernel.core_pattern sysctl来设置。

但是也许你想要的行为可以通过将核心模式设置为|/path/to/foo %h %p ,这会导致核心文件内容被传送到/path/to/foo可执行文件中。 请注意,pipe道后面的内容会被分割成空格 。