有没有简单的方法可以查看 /etc/init.d/* 中正在运行什么?

有没有简单的方法可以查看 /etc/init.d/* 中正在运行什么?

我把笔记本电脑的线忘在家里了,我正在使用电池运行。我使用的是 Ubuntu Linux 9.10。我知道powertop并且正在使用它。它告诉我我安装的几个东西(postgres、mysql 等)正在运行,所以我停止了它们。

但是有没有命令可以告诉我所有/etc/init.d/正在运行的东西?然后我可以决定停止其中的一些。

答案1

在 Ubuntu 9.04/9.10 上:

sudo service --status-all

对于响应‘状态’的所有内容,您将获得一个 +/- 标志,如果没有,则会获得?。

编辑您还可以安装“chkconfig”来查看在各个运行级别中启动的设置。

答案2

有人希望如此,但我不知道有什么工具可以做到这一点。问题主要在于——至少在 Ubuntu 上——许多启动脚本没有“status”命令。因此,运行如下代码片段

for service in /etc/init.d/*; do
    "${service}" status
done

不会起作用,因为你将被错误信息淹没令人厌烦,告诉您状态命令对某个特定服务不起作用。

您可以使用 pgrep 做类似的事情,但是您需要编写一些脚本并了解由 init 脚本启动的实际进程的名称。

答案3

最好的办法是看看到底是什么跑步是运行“top”。按“m”将按内存使用情况对进程进行排序。请注意,“vmsize”列通常会夸大约 90Mb。

相关内容