当且仅当服务存在时,我怎样才能停止服务,这意味着我希望仅在服务存在、运行但无法停止时才收到错误代码。当服务不存在或者服务器已停止或成功停止时,我不会收到错误代码。
systemctl stop foobar.service || true
将吞掉任何停止正在运行的服务的失败尝试,这太激进了。目的是确保服务不会运行,并且仅在无法停止时出错。
答案1
关于什么
systemctl is-active foobar.service && systemctl stop foobar.service
仅当服务当前处于“活动”状态时,才会尝试停止该服务。