16.04命令列出启动时启动的所有服务


Answers:


47

就我现在而言,服务是在Ubuntu中自动启用的,因此当您安装类似的东西时Apache,它将在启动时启动。

找到一些信息

要找出启动时已运行的所有服务:

systemctl list-units --type service

这将显示在引导时已加载并且现在处于活动状态的所有服务。如果要获取所有服务的列表,无论它们是否处于活动状态:

systemctl list-units --type service --all

您可以做的另一件事是运行:

systemctl list-dependencies --type service

然后点击/并搜索以mongodb了解service/ target取决于它并运行它。

您也可以运行:

locate mongodb.service

产生类似:

/lib/systemd/system/multi-user.target.wants/mongodb.service

那么您将知道它是作为多用户目标的一部分启动的,替代方法是:

$ systemctl cat mongodb.service | grep -i wantedby
WantedBy=multi-user.target

禁用它

要了解它是否处于活动状态(将在启动/启动时运行):

systemctl is-active mongodb

activeinactive; 在您的情况下应该是active

要阻止它在启动时启动,我们应该禁用它:

sudo systemctl disable mongodb

为了确保没有其他东西(没有其他服务)可以启动它,我们屏蔽了它:

systemctl mask mongodb

因此它将被链接到/dev/null并且无法自动或手动启动。

我不知道mongodb服务名称,请尝试点击将完成的选项卡。我想是mongodb;)


systemctl list-units --type service不会显示用户服务。想知道是否有一种方法可以显示全部=系统和所有用户服务?
EdiD

sudo update-rc.d mongodb disable
CRTLBREAK

9

要知道在启动时是否启用了服务,正确的命令是:

systemctl is-enabled apache2
enabled

您可以通过更改状态自行尝试

systemctl enable apache2
systemctl disable apache2

(这不是要答案)


0

还可以查看“设置”->“会话和启动”->“应用程序自动启动”,查看其中是否提到了您的应用程序。

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.