How to prevent systemd from stopping service after a failed reload?

Ethan Leroy asked:

For my service I configured an ExecReload= command similar to this one:

ExecReload=/bin/sh -c 'check-configuration && reload-service'

This command checks the configuration before doing the actual reload. If this check fails, the service gets not reloaded — which is the wanted behavior.

What’s not so nice: Because of the failed systemctl reload ... (the check-configuration exits with some error code), systemd decides to stop my service.

How can I prevent systemd from stopping my service when the reload command returned a non-success exit code?

My answer:

You seem to have hit systemd bug 11238, which is unresolved and currently has no workaround.

You should report this to your Linux distribution’s bug tracker, so that they can track the upstream bug and backport any fix that might be created in the future.

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.