it-swarm.cn

用于列出启动时启动的服务的命令?

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

142
Eric H

您只需使用initctl list Shell命令列出/etc/init的内容,而不是建议的dbus-send命令。

104
Scott

快速回答是:这取决于您的init系统。

答案很长:对于Ubuntu的当前版本,你可能混合使用 pstartSystemV 。 15.04“Vivid Vervet”(和RHEL/CentOS 7等其他Linux发行版)之后的更新版本的Ubuntu正在转向使用 SystemD

暴发户

列出所有服务:

initctl list

要列出所有Upstart服务并对它们运行initctl show-config,这个单行可能会有所帮助:

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

系统五

列出所有服务:

service --status-all

要么:

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

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

SystemD

列出所有服务:

systemctl list-unit-files --type=service

要么:

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

/etc/init.d/etc/rc.*目录已被'upstart'初始化工具取代。虽然这些目录中的脚本将按预期执行,但在init上运行事物的新方法由/etc/init/中的文件定义。

您可以通过在dbus上查询upstart来列出所有upstart作业:

dbus-send --print-reply --system --dest=com.ubuntu.Upstart \
        /com/ubuntu/Upstart com.ubuntu.Upstart0_6.GetAllJobs

您可能需要更改0_6以反映您拥有的upstart的版本。这个命令适用于我的清晰安装。

13
Jeremy Kerr

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

apt-get install bootchart
12
john

我使用initctl show-config <servicename>来了解服务何时/如果在启动期间启动的详细信息。

像这样:

$ initctl show-config myservice
myservice
  start on runlevel [2345]
  stop on runlevel [!2345]

或者对于NFS4 idmap-daemon:

$ initctl show-config idmapd
idmapd
  start on (local-filesystems or mounting TYPE=nfs4)
  stop on runlevel [06]

chkconfig仅适用于基于RedHat的系统imho。

11
CBmemnon

在12.04我们可以使用:

Sudo apt-get install chkconfig
chkconfig --list

但它是 在12.10中删除

样本输出:

acpi-support              0:off  1:off  2:on   3:on   4:on   5:on   6:off
acpid                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
apparmor                  0:off  1:off  2:off  3:off  4:off  5:off  6:off  S:on

除了以下系统服务和脚本:

的/ etc/init.d /的
[.____/ LIB/systemd /系统/
的/ etc/systemd /系统/

可能AutoStart应用程序也是,例如:

find / -name "*autostart*"

ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" "/usr/share/gdm/autostart"  "/usr/share/gnome/autostart"
0
Noam Manos