当停止一个已经停止的 upstart 服务时可以返回 0 吗?

当停止一个已经停止的 upstart 服务时可以返回 0 吗?

我有一个自定义的 upstart 服务,我正尝试通过 Chef 实现自动化。Chef 流程如下: - 创建 /etc/init/myservice.conf,通知重新启动 myservice(如果 conf 文件发生变化) - 启动 myservice

/sbin/stopChef 服务重启实际上是按以下方式执行的:/sbin/start 因此,如果我的服务尚未运行,则重启会失败,并提示/sbin/stop myservice returned 1

/sbin/stop myservice如果服务已经处于停止状态,有没有办法可以返回 0 ?

答案1

我在使用 tomcat 和 chef 时遇到了同样的问题,请使用以下命令:

/sbin/status tomcat_7 | grep -q “停止/等待” || /sbin/stop tomcat_7

首先:

/sbin/status tomcat_7 | grep -q “启动/运行” || /sbin/start tomcat_7

相关内容