如何冻结systemctl服务 - 防止重新启动



我们有一个带有 systemctl 的服务,它重新启动了:

systemctl restart backend.service

没什么疯狂的。但是,作为自动化基础结构代码的一部分,即使希望停止服务,也会调用此命令。因此,我们需要某种方法来永久停止该服务,直到我们想将其重新联机。有没有这样的命令:

systemctl stop backend.service
systemctl freeze backend.service  # ?

我正在寻找一些可以停止服务并防止重新启动的命令,直到另行通知。

听起来systemctl mask [unit]可能是您正在寻找的。引用手册:

mask UNIT…

屏蔽命令行上指定的一个或多个设备。这会将这些单元文件链接到/dev/null,使其无法启动。这是禁用的更强版本,因为它禁止对设备进行各种激活,包括启用和手动激活。请谨慎使用此选项。这遵循--runtime选项,即仅在下次重新启动系统之前暂时屏蔽。--now选项可用于确保设备也停止。此命令仅需要有效的设备名称,它不接受设备文件路径。

最新更新