如何捕获已收到SIGSEGV的进程列表

时间:2011-09-20 15:35:48

标签: c linux signals

我的应用程序的一部分(最好是一个守护程序)需要记录已经转储核心的进程名称列表。如果有人指出我可以使用哪种机制,那会很棒吗?

1 个答案:

答案 0 :(得分:1)

如果进程真正转储核心,您可以使用以下技巧:

/proc/sys/kernel/core_pattern设为|/absolute/path/to/some/program %p %e

这将导致系统执行您的程序(使用错误进程'pid和可执行文件名),并将核心转储管道传输到其标准输入中。然后,您可以记录并存储核心转储文件。

请注意,该程序将以用户和组root

的形式运行

有关更多信息,请参阅man 5 core,以及示例核心转储处理程序