我正在使用 ubuntu 21.10 并且程序不断崩溃。我想看看核心转储。根据这,看来我需要使用apport.service
.
但我观察到以下有关apport.service
- 的状态
apport.service
是active (exited)
通过 runningsystemctl status apport.service
。 ps -ef | grep apport
显示没有批准进程正在运行
我也sudo systemctl stop apport.service
跟着做了sudo systemctl start apport.service
。结果是一样的。
状态是什么active (exited)
意思?我怎样才能启动该apport
服务?
答案1
active (exited)
当服务使用Type=oneshot
with时将会出现RemainAfterExit=true
。
以下基本服务将在 上启动systemctl start ...
,成功后立即退出,然后保持“活动”状态直至停止。
[Service]
Type=oneshot
ExecStart=/bin/true
RemainAfterExit=yes
PartOf=
当使用与其他单位的关系时,这尤其有用。在这种情况下,一个单元将启动并执行某些操作,然后触发其他单元启动。当第一个单元停止时(即使它在启动时完成),其他单元也会停止。
我不运行 Ubuntu,所以我没有apport
,但我想只要该服务不是inactive (dead)
或failed
,那么它就会按预期工作。
它在启动时运行的进程可能已经加载了内核模块,或者apport.service
Wants=
正在Requires=
执行某些操作的东西。
当出现崩溃时,检查转储/var/crash/
(文件名由崩溃的可执行文件的名称和用户 ID 组成)。如果不存在,您可能需要启用一些崩溃报告/etc/apport/crashdb.conf
(请参阅Ubuntu 的维基)。
注意:根据 Ubuntu 的 wiki,apport 可能会将崩溃上传到某个地方。您的数据可能不是私人的。