如何更改类Unix操作系统中核心转储的命名?

我想改变一个单独的进程和它的孩子的核心转储的命名,或者如果不可能的话,改变一个单独的用户的所有进程。

注意:我知道可以更改所有用户覆盖/proc/sys/kernel/core_pattern文件的命名。

如你所知, /proc/sys/kernel/core_pattern是系统全局的,而Linux是特定的(不是可移植的)。

我不认为有一个工具可以在每个进程或每个用户的基础上自定义核心转储文件名,但是你可以通过发送核心转储到一个处理程序而不是直接到一个文件来实现你想要的。 通过做这样的事情:

 echo "|usr/local/bin/my_core_dump_handler" >/proc/sys/kernel/core_pattern 

每次发生核心转储时,都会执行my_core_dump_handler 。 它可以读取标准input上的实际内核转储,并将其写入到自定义的文件名中。

顺便说一句 :你的问题谈到/proc/sys/kernel/core_name_format 。 我假设你的意思是/proc/sys/kernel/core_pattern因为前者对我来说不存在。