暴发户

暴发户

是否有命令可以列出启动时运行的服务?我想这会涉及解析/etc/init.d/和各种/etc/rc.*目录。

答案1

简单的回答是:这取决于您的init系统。

长话短说:对于当前版本的 Ubuntu,你可能混合使用了暴发户, 和系统V. 15.04“Vivid Vervet”之后的 Ubuntu 版本(以及其他 Linux 发行版,如 RHEL/CentOS 7)正在转向使用系统D

暴发户

列出所有服务:

sudo initctl list

要列出所有 Upstart 服务并initctl show-config在其上运行,下面一行代码可能会有帮助:

sudo initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config

系统 V

列出所有服务:

sudo service --status-all

或者:

# for init scripts:
ls /etc/init.d/

# for runlevel symlinks:
ls /etc/rc*.d/

系统D

列出所有服务:

sudo systemctl --all list-unit-files --type=service

或者:

ls /lib/systemd/system/*.service /etc/systemd/system/*.service

答案2

您可以简单地使用initctl listshell 命令来列出内容,/etc/init而不是建议的dbus-send命令。

答案3

对于 Ubuntu 18.04,使用:

systemctl list-units --type=service

代替initctl

自 Ubuntu 16.04 起,initctl已被取代systemd来源(法语:

如果可以的话帮助@sanjay-manohar

答案4

如果您想要一个漂亮的图形来表示服务和启动所需的时间,请尝试:

sudo apt install bootchart

对于 systemd(自 16.04 起)尝试systemd-bootchart反而:

sudo apt install systemd-bootchart

相关内容