无法禁用systemd服务

And*_*Kim 5 linux dbus systemd centos7

我一直在使用systemd的dbus API,我一直在使用EnableUnitFiles()函数启用服务,详见http://www.freedesktop.org/wiki/Software/systemd/dbus/

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

systemctl disable "service_name"
Run Code Online (Sandbox Code Playgroud)

然后检查是否禁用该服务

systemctl status "service_name"
Run Code Online (Sandbox Code Playgroud)

它仍然显示要启用的服务.我目前正在运行Centos7.

任何见解将被赞赏为什么我不能禁用该服务.谢谢!

Ram*_*man 6

尝试使用systemd mask命令而不是disable:

systemctl mask <service_name>
Run Code Online (Sandbox Code Playgroud)

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

此外,我不相信maskdisable实际上停止正在运行的服务:他们将来只配置该服务的启动.因此,你也应该这样做systemctl stop <service_name>.

  • 谢谢。在我看来,这是一个糟糕的设计,“disable”应该做“mask”所做的事情,而peprhaps还有另一个选项,例如“soft-disable”与“disable”当前所做的事情。 (2认同)