我的应用程序的一部分(最好是守护程序)需要记录已进行核心转储的进程名称列表。如果有人指出我可以使用哪种机制,那就太好了?
最佳答案
如果进程确实在转储核心,您可以使用以下技巧:
将/proc/sys/kernel/core_pattern
设置为|/absolute/path/to/some/program %p %e
这将导致系统执行您的程序(使用错误进程的 pid 和可执行文件名称),并将核心转储通过管道传输到其标准输入中。然后您可以记录并存储核心转储文件。
请注意,该程序将作为用户和组 root
参见 man 5 core
获取更多信息,以及示例核心转储处理程序
关于c - 如何捕获已收到 SIGSEGV 的进程列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7487814/