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?