oce*_*nBT 472 services systemd
如何列出所有enabled服务systemctl?
我知道systemctl单独运行命令会列出所有服务,但我只想获取enabled这些服务。
Del*_*ean 653
systemctl list-unit-files | grep enabled将列出所有启用的。
如果您想要哪些当前正在运行,您需要systemctl | grep running.
使用您正在寻找的那个。启用,并不意味着它正在运行。运行并不意味着它已启用。他们是两个不同的东西。
启用意味着系统将在下次启动时运行该服务。所以如果你启用了一个服务,你仍然需要手动启动它,或者重新启动它就会启动。
运行意味着它现在实际上正在运行,但如果它没有启用,它不会在您重新启动时重新启动。
小智 163
man systemctl 状态:
--state=的参数应该是逗号分隔的单元的列表
LOAD,SUB或ACTIVE状态。列出单位时,仅显示处于指定状态的单位。用于--state=failed仅显示失败的单位。
解释:
LOAD:反映单元定义是否正确加载。
ACTIVE:高级单元激活状态,即 的泛化SUB。
SUB:低级单元激活状态,值取决于单元类型。
虽然您也可以使用它来仅显示enabled单位:
systemctl list-unit-files --state=enabled
Run Code Online (Sandbox Code Playgroud)
如果是单位,则enabled意味着系统将在启动时启动它。尽管将某些内容设置为enabled实际上并没有start,因此您需要手动执行此操作,或者在将其设置为enabled.
小智 83
列出所有systemd在state=active和sub=running
systemctl list-units --type=service --state=running
Run Code Online (Sandbox Code Playgroud)
要列出所有的systemd这些都在贡献莫过于state=active和亚运行或退出
systemctl list-units --type=service --state=active
Run Code Online (Sandbox Code Playgroud)
小智 21
要查看“已启用”服务,包括仍在 upstart/init 下运行的服务:
systemctl list-unit-files --type service --state enabled,generated
Run Code Online (Sandbox Code Playgroud)
要查看当前运行的所有服务,请运行:
systemctl list-units --type service --state running
Run Code Online (Sandbox Code Playgroud)
pan*_*.de 11
还概述了所有活动和失败的服务:
systemctl list-units --type service --state running,failed
Run Code Online (Sandbox Code Playgroud)
除了当前的答案之外,我还使用以下内容来获取服务的名称:
systemctl list-units --type=service --state=active,running | awk '/.*\.service/ {print $1}'
Run Code Online (Sandbox Code Playgroud)
与表格格式不同,这使得将这些服务通过管道传输到另一个程序变得更容易