A resposta é "você não"! Mas temos boas notícias.
A filosofia do systemd é que o recarregamento é opcional e deve ser deixado indefinido se não houver uma funcionalidade de recarregamento verdadeira. Eu definiria "true reload functionality" como um recarregamento que não elimina e reinicia o serviço, ou faz com que o serviço mude seu PID. Em outras palavras, o systemd só quer refletir quais recursos existem.
Em vez disso, você deve usar systemctl reload-or-restart
, que será recarregado se existir e reiniciar, se não existir.
Na página do manual ...
reload-or-restart PATTERN...
Reload one or more units if they support it. If not, restart them
instead. If the units are not running yet, they will be started.
reload-or-try-restart PATTERN...
Reload one or more units if they support it. If not, restart them
instead. This does nothing if the units are not running. Note that,
for compatibility with SysV init scripts, force-reload is
equivalent to this command.
Portanto: (1) deixe o ExecReload em branco, (2) use systemctl reload-or-restart MYSERVICE
e, (3) esteja tudo pronto.
Se você tentar usar o ExecReload para definir uma maneira de matar e reiniciar o serviço, ele terá um novo PID e o systemd ficará confuso.