我无法在 Ubuntu 12.10 中使用 chkconfig 工具
这是一个非常有用的工具来配置服务是否自动启动。为什么不再可用?
我正在寻找一种方法来获取所有服务(/etc/init.d 或 upstart 或 systemd)的列表,这些服务应该正在启动(或已在启动时启动)。
您如何获得所有启动服务的列表?— 我知道这个问题,它建议使用service --status-all.
但这并没有告诉我,哪些服务应该运行。它使用“ status”参数调用所有初始化脚本。这是可以运行的所有服务的列表。
但是我想知道,如果在启动时启动的服务仍在运行。
例子…
我已经安装了 webfs。但我不希望它在启动时运行。因此我禁用了它:sudo update-rc.d webfs disable。而且我还安装了 samba,它应该在启动时运行。但它已停止(无论出于何种原因)。sudo service --status-all在这里对我没有帮助:
$ sudo service --status-all 2>/dev/null | grep -E 'samba$|webfs'
[ - ] samba
[ - ] webfs
Run Code Online (Sandbox Code Playgroud)
两个都关了,但我不知道,那个(桑巴舞)应该开着。
所以…
我如何获得在启动时启动的所有服务的列表?并且,作为扩展,是否有一种简单的方法来获取这些服务的“状态”(如果没有,我将简单地遍历这个列表并运行“service $service status”,或类似的东西)。
谢谢,亚历山大
编辑 2015-05-04: 我在 Ubuntu 14.04 上。
这个问题的主要焦点如下:
但是我想知道,如果在启动时启动的服务仍在运行。
正因为如此,initctl list并没有多大帮助。它并没有真正考虑由/etc/init.d脚本启动的服务(与 中的新贵脚本相比/etc/init)。
列表/etc/rc?.d/S*也无济于事。它将生成一个服务列表,这些服务可能已在给定的运行级别中启动。它没有显示我应该启动的服务是否仍在运行。
基本上,我正在svcs -x为 Ubuntu寻找类似Solaris 的东西。使用 …
services ×2
12.10 ×1
14.04 ×1
16.04 ×1
autostart ×1
boot ×1
command-line ×1
monitoring ×1
systemd ×1