如何仅在服务正在运行时尝试停止该服务?

如何仅在服务正在运行时尝试停止该服务?

当且仅当服务存在时,我怎样才能停止服务,这意味着我希望仅在服务存在、运行但无法停止时才收到错误代码。当服务不存在或者服务器已停止或成功停止时,我不会收到错误代码。

systemctl stop foobar.service || true将吞掉任何停止正在运行的服务的失败尝试,这太激进了。目的是确保服务不会运行,并且仅在无法停止时出错。

答案1

关于什么

systemctl is-active foobar.service && systemctl stop foobar.service

仅当服务当前处于“活动”状态时,才会尝试停止该服务。

相关内容