Para expandir, responda com minha experiência com o systemd.
No systemd sempre que um processo é iniciado, ele é executado dentro do contexto systemd, o exemplo mais claro disso é com as variáveis de ambiente definidas em seu arquivo unitário.
Então, quando você envia um sinal systemctl reload [someservice]
, ele envia um sinal para o serviço para recarregar-se normalmente, caso seja suportado. Caso contrário, o processo simplesmente ignorará o sinal. Isto é configurável embora.
Com o que quero dizer graciosamente? para iniciar novos trabalhadores com a nova configuração ou código e parar os antigos trabalhadores quando eles terminarem de atender aos pedidos atuais, se houver.
E se você fizer systemctl restart [someservice]
ele dirá ao systemctl para dizer ao serviço para parar, destruir o contexto atual do systemd, criar um novo e executar o serviço novamente. Isso faz sentido, por exemplo, recarregar variáveis de ambiente em um contexto systemd ou se um recarregamento não for suportado.
Espero que isso esclareça um pouco e se eu estiver errado em algo, por favor me avise.