我计划在C / C ++中设计一个作为恶魔进程运行的应用程序,并在它们与应用程序日志文件一起发生时收集核心转储。在Linux中有什么方法可以让我知道应用程序崩溃了。
答案 0 :(得分:4)
首先,您可以更改核心转储文件写入的目录。在linux中,它是/proc/sys/kernel/core_pattern
(参见this blog)
其次,您可以监控目录中的更改,请参阅Inotify - how to use it? - linux。
只需将核心模式设置为特定目录并监视它以获取新文件。
答案 1 :(得分:1)
另一个选项(除了目前为止的其他好建议)可能是设置/ proc / sys / kernel / core_pattern以在创建应用程序时将核心文件传递给应用程序,如here所述。申请可以是例如决定是否创建核心文件,存储核心文件的位置,动态压缩核心文件,或通过IPC通知另一个应用程序核心文件已创建。