diff --git a/src/service.c b/src/service.c index e44ff6bc..9c1e7c45 100644 --- a/src/service.c +++ b/src/service.c @@ -2467,6 +2467,10 @@ static void service_retry(svc_t *svc) int timeout; service_timeout_cancel(svc); + + if (is_norespawn()) + return; + if (svc->respawn) { dbg("%s crashed/exited, respawning ...", svc_ident(svc, NULL, 0)); svc_unblock(svc); @@ -2771,6 +2775,9 @@ restart: if (sm_in_reload()) break; + if (is_norespawn()) + break; + /* Don't start if it conflicts with something else already started */ if (svc_conflicts(svc)) { logit(svc->nowarn ? LOG_DEBUG : LOG_INFO,