无法禁用systemd服务

问题描述 投票:0回答:2

我一直在使用 systemd 的 dbus API,并且我一直在使用 EnableUnitFiles() 函数启用服务,详细信息请参见此处 http://www.freedesktop.org/wiki/Software/systemd/dbus/

但是,当我尝试使用命令禁用相同的服务时

systemctl disable "service_name"

然后通过

检查该服务是否被禁用
systemctl status "service_name"

它仍然显示要启用的服务。我目前运行的是 Centos7。

任何关于我为何无法禁用该服务的见解将不胜感激。 谢谢!

linux dbus centos7 systemd
2个回答
17
投票

尝试使用 systemd

mask
命令而不是
disable
:

systemctl mask <service_name>

disable
命令仍然允许启动服务,例如,响应另一个服务请求它作为依赖项(即使是可选的),或手动启动。但是
mask
完全禁用该服务。

另外,我不相信

mask
disable
实际上会停止正在运行的服务:它们只是配置该服务将来的启动。因此,你也应该这样做
systemctl stop <service_name>


0
投票
chmod -x <service exec>

或重命名它

我只是像这样禁用了 OpenVPN 服务器。 systemctl禁用或systemctl掩码不起作用。重新启动后,服务仍然存在(Ubuntu Server 22.04)。

我知道这不是一个优雅的解决方案,但它是唯一有效的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.