和我们一样知道、 、systemd
、 核心转储不仅会写入当前目录,还会写入一些不起眼的日志。现在,我是某台机器上的一个可怜的老非 root 用户,并且 - 我想要我的核心转储!我无法按照建议以 root 身份编辑文件/etc
或运行systemd
实用程序。我仍然可以以某种方式获取我的核心转储文件吗?
PS - 如果重要的话,我使用的是 Fedora 22。
答案1
使用 systemdcoredumpctl
列出和检索您的核心转储。使用程序的 PID 或名称来选择要转储(到文件-o ...
)或运行gdb
的程序。
$ coredumpctl list
TIME PID UID GID SIG PRESENT EXE
Mon 2016-04-11 11:18:23 CEST 21538 1000 1000 11 * /usr/bin/sleep
$ coredumpctl info 21538
PID: 21538 (sleep)
UID: 1000 (meuh)
...
$ coredumpctl -o core dump sleep
$ coredumpctl gdb 21538
(systemd 的某些中间版本使用名称systemd-coredumpctl
)。您的用户 ID 必须位于组中systemd-journal
才能在不成为 root 的情况下执行此操作。