Ubuntu 检测到一个我从未运行过的程序崩溃

Ubuntu 检测到一个我从未运行过的程序崩溃

我用它atop来获得上述一些基本功能,top但并不太花哨。我在许多系统上都用过它,我知道有时它在第一次运行时会打印出“浮点异常”并退出。

我不明白的是为什么在基本的事情发生之后apt-get install atop会发生两件事:

  • Ubuntu 弹出一个对话框,说明它想要报告错误,单击“更多详细信息”显示这是浮点异常atop
  • 启动时我们再次收到同样的错误

我可以理解,如果我实际运行该程序,它可能会遇到错误,但它是如何在安装后立即遇到错误(这些错误表明它由于某种原因而运行?)以及为什么atop在启动时自行运行以在启动后显示这些错误?

答案1

什么时候atop,它还会安装一个系统服务,并在后台持续运行。每次启动计算机时都会启动该服务。

此外,软件包可以有(并且通常有)在安装前、安装后、删除前和删除后自动运行的脚本。

在 的情况下atop,有一个安装后脚本 ( /var/lib/dpkg/info/atop.postinst) 运行invoke-rc.d atop start。这在基于 Debian 的系统上很常见:当您安装服务时,它会自动启动。

atop那么,这项服务是做什么的呢?阅读/etc/init.d/atop,它最终运行以下命令(其中$CURDAY代表当前日期,例如20161220在撰写本文时):

/usr/bin/atop -a -w /var/log/atop/atop_$CURDAY 600

根据手册页,这会使一个atop命令始终运行,/var/log/atop每 10 分钟(600 秒)写入一次原始数据,直到机器关闭。这允许用户检查系统的过去使用情况,而不仅仅是当前使用情况。请查看手册页的原始数据存储部分。

现在,由于atop您的机器显然崩溃了,因此在安装软件包(并启动服务)时会崩溃一次,每次启动计算机时也会崩溃一次(因为这会启动服务)。还有一项cron任务会在午夜重新启动服务(以便每天使用新的日志文件),因此您会在午夜再崩溃一次。

如果您只关心atop从命令行运行,而不关心服务,则可以通过运行来禁用它sudo update-rc.d atop disable

相关内容