如何列出启动时启动的服务/守护程序_并_检查其加载顺序


32

我想确定在基于Debian的系统(特别是Debian Squeeze)的引导过程中按什么顺序启动服务。

提前致谢。

Answers:


37

简而言之:

ls /etc/rc*.d

这将显示您从哪个运行级别开始,在每个运行级别中,顺序由字母后的数字确定(K为Kill,S为start)。

您可以使用sysv-rc-conf(可通过apt安装)配置在每个运行级别开始的内容。

例如,在我的系统上,apache2在rc5.d中被符号链接为“ S20apache2”。与S19在同一目录中的链接将在该链接之前开始,而与S21在同一目录中的链接将在其之后开始。

进一步阅读:


非常感谢,但是我需要确保例如chilli在bind9之前启动,但是它们都具有S21前缀。我编辑了特定的/ etc / init /文件Required-Start:和Required-Stop:部分,并为它们运行了update-rc.d。有什么想法可能出问题吗?
user155872

您可能需要insserv而不是update-rc.d。Chili是定制应用还是Debian回购中?如果它是正确制作的Debian软件包,则无需编辑其init脚本,但如果定制,请尝试X-Start-Before而不是Required-Start(然后使用insserv启用)。链接:wiki.debian.org/LSBInitScripts
Alex Forbes

好的谢谢。我已经了解了insserv和另外一件事:“美元符号,因为它们是预定义的虚拟设备。否则,应该使用在/etc/init.d/中找到的System V引导脚本的名称,尽管没有美元。符号或可能的.sh扩展名。” 现在前缀是正确的。谢谢:)
user155872

19

rcconfSYSV-rcconf事业的帮助?

# aptitude install rcconf sysv-rc-conf

之后,您可以通过输入rcconf或来运行它们sysv-rc-conf

rcconf sysv-rc-conf


9

您可以使用以下简单命令列出所有服务及其状态:

service --status-all

从手册中:

service --status-all使用status命令按字母顺序运行所有初始化脚本。状态为[+]表示正在运行的服务,[-]表示已停止的服务,[?]表示没有“ status”命令的服务。此选项仅调用sysvinit作业的状态。可以使用initctl list以类似的方式查询upstart作业


1
我认为这不能解决问题的“什么顺序”部分。
kmarsh 2015年

2
而且这也并不能真正告诉您启用了哪一个(启动时启动)
kiltek

我有在此命令中显示的脚本,但尚未启动。
猫头鹰

4
for i in `find /etc/rc*.d -name S*`; do basename $i | sed -r 's/^S[0-9]+//'; done | sort | uniq

Sample output:

acpid
anacron
avahi-daemon
boa
bootlogd
bootlogs
bootmisc.sh
checkfs.sh
checkroot-bootclean.sh
checkroot.sh
cryptdisks
cryptdisks-early
dbus
delayed-services
hostname.sh
hwclock.sh
keyboard-setup
killprocs
kmod
lightdm
mountall-bootclean.sh
mountall.sh
mountdevsubfs.sh
mountkernfs.sh
mountnfs-bootclean.sh
mountnfs.sh
mtab.sh
pppd-dns
procps
qemu-kvm
rc.local
rmnologin
rsyslog
single
sleep
stop-bootlogd
stop-bootlogd-single
udev
udev-mtab
x11-common

1

在Debian上,rcconf应该可以解决问题,只是配置已经存在的服务的停止/启动。

我一直在Debian Jessie和Wheezy上使用它。


您能否再解释一下如何使用您提到的工具?
womble
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.