我想在我的Python代码中获得可执行崩溃报告(core-file)的列表,并询问有关核心转储堆栈跟踪的更多信息,然后在我的电子邮件中发送该信息。
请建议我的方式或与systemd-coredump服务交谈的应用程序接口,特别是我想有与coredumpctl的应用程序接口。
发布于 2020-05-12 22:34:45
好的。我做了很少的研究,发现python3-systemd Python模块提供了journal.Reader抽象,当我们有了带有COUREDUMP前缀的实体时,我们可以处理这个实体,并处理对coredump文件的日志、消息或事件访问。
发布于 2021-04-15 01:35:34
我编写了一个small Python helper script,它使用journal.Reader来检索核心转储信息,并且比coredumpctl更自动化。
关于日志交互的核心代码部分是:
def get_journal_entries(match):
"""
Returns all journal entries that match the given matcher.
"""
reader = systemd.journal.Reader()
reader.add_match(match)
yield from reader
for entry in get_journal_entries("CODE_FUNC=submit_coredump"):
try:
coredump = entry["COREDUMP_FILENAME"]
program = entry["COREDUMP_EXE"]
timestamp = entry["COREDUMP_TIMESTAMP"]
except KeyError:
continue我不确定通过CODE_FUNC匹配是否是最好的主意,但它在我的机器上可以工作。
https://stackoverflow.com/questions/61750259
复制相似问题