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


Answers:


104

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


1
在Ubuntu 18.04中可以使用吗?我收到“ initctl:未找到命令”(以bash格式)
Sanjay Manohar

120

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

长答案是:对于当前版本的Ubuntu,您可能混合使用UpstartSystemV。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

系统V

列出所有服务:

service --status-all

要么:

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

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

系统D

列出所有服务:

systemctl list-unit-files --type=service

要么:

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

9
这应该是公认的答案。
sjas 2013年

service --status-all不会显示是否已启用服务以在启动时启动,至少在Ubuntu 16上不会。它显示服务当前是否正在运行
通配符

1
我必须sudo service --status-all获得所有服务才能显示出来。当我仅以service --status-all非root用户身份运行时,其中的一些人被隐藏了。
丰满的

@Phlucious:感谢您提及。我以为这是众所周知的,这些命令通常以root身份运行(systemctlserviceinitctl...),因为它们通常被认为是系统管理的命令。
TrinitronX

13

/etc/init.d/etc/rc.*目录已被“取代upstart”初始化工具。尽管这些目录中的脚本将按预期执行,但在init上运行内容的新方法是由以下文件中的文件定义的/etc/init/

您可以通过dbus查询新贵来列出所有新贵工作:

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

您可能需要更改0_6以反映您的新贵版本。此命令适用于我的清醒安装。


3
@Eric H:您能否将下面的答案设置为正确的- initctl list比此dbus命令好得多。不过,我想将此答案留在此处以供参考(而不是完全删除)。
杰里米·科尔

12

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

apt-get install bootchart

11

ID用于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上更可取。


1
这是正确的答案。我不知道为什么所有错误和不完整的答案都受到如此强烈的反对。
塞林

1
这对于使用SysV的人员来说确实有效,我同意这是一个不错的答案,但还不完整。
加布里埃尔·内托

9

在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

2
在Ubuntu中不起作用。packages.ubuntu.com/...
AB

@AB感谢您让我知道!如今,拒绝投票的人很少发表评论:它需要勇气,并允许我学习。随着版本的更新,它工作的地方。
西罗桑蒂利新疆改造中心法轮功六四事件



0

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

/etc/init.d/
/ lib / systemd / system /
/ etc / systemd / system /

也可能有自动启动应用程序,例如:

find / -name "*autostart*"

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

-2

使用gawk:

ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}'

样本输出:

$ ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}' | egrep README
README 0,1,2,3,4,5,6,S
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.