Para reiniciar o daemon, execute
systemctl daemon-reexec
Isso está documentado na página de systemctlmanual :
Execute novamente o gerenciador do systemd. Isso serializa o estado do gerente, reexecuta o processo e desserializa o estado novamente. Este comando é de pouca utilidade, exceto para depuração e atualizações de pacotes. Às vezes, pode ser útil como um peso pesado daemon-reload. Enquanto o daemon estiver sendo reexecutado, todos os soquetes do sistema que estiverem ouvindo em nome da configuração do usuário permanecerão acessíveis.
Infelizmente, needs-restartingnão é possível determinar que systemdrealmente foi reiniciado. systemd execsreiniciar, o que não redefine a hora de início do processo; mas needs-restartingcompara o tempo de modificação do executável com o horário de início do processo para determinar se um processo precisa ser reiniciado (entre outras coisas) e, como resultado, ele sempre considera que systemdprecisa ser reiniciado ... Para determinar se systemdrealmente precisa ser reiniciado, você pode verificar a saída de lsof -p1 | grep deleted: systemduses a library, libsystemd-sharedque é enviada no mesmo pacote e, portanto, é atualizada juntamente com o daemon; portanto, se systemdprecisar ser reiniciado, você a verá usando uma versão excluída da biblioteca. Se lsofnão mostrar arquivos excluídos, systemdnão precisará ser reiniciado. (Graças aJeff Schaller pela dica!)
daemon-reexecé suposto para trabalhar mesmo comsystemdcomo pid 1.