查看/etc/init.d/*正在运行的简单方法?

我把我的笔记本电脑留在家里 ,我正在用电池。 我正在使用Ubuntu Linux 9.10。 我知道powertop ,我正在使用它。 它告诉我,我安装了一些东西(postgres,mysql等)正在运行,所以我阻止了它们。

但是有没有一个命令会告诉我所有从/etc/init.d/中运行的东西? 那么我可以决定阻止其中的一些。

在Ubuntu 9.04 / 9.10上:

 sudo service --status-all 

对于所有对“状态”做出反应的人,你会得到一个+/-标志,而且? 如果他们不这样做。

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

人们会希望如此,但我知道没有这样做的工具。 问题主要在于 – 至less在Ubuntu上 – 很多initscripts没有“status”命令。 所以,像这样运行一个片段

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

将无法正常工作,因为你会被错误信息垃圾邮件发送给你,告诉你状态命令不适用于特定的服务。

你可以用pgrep做类似的事情,但是你需要编写一些脚本并且知道init脚本启动的实际进程的名字。

查看实际运行的最好方法是运行“top”。 按“m”将按内存使用情况对进程进行sorting。 请注意,“vmsize”列通常被夸大了大约90Mb。