Eu dei uma olhada rápida no código-fonte e nas man pages, e acho que a resposta simples é:
TimeoutStopSec=
Configures the time to wait for stop. If a service is asked to stop, but does not terminate in the specified time, it will be terminated forcibly via SIGTERM, and after another timeout of equal
duration with SIGKILL (see KillMode= in systemd.kill(5)). Takes a unit-less value in seconds, or a time span value such as "5min 20s". Pass "0" to disable the timeout logic. Defaults to
DefaultTimeoutStopSec= from the manager configuration file (see systemd-system.conf(5)).
Então eu olho para /etc/systemd/system.conf e encontro:
#DefaultTimeoutStopSec=90s
Assim, quando o alvo de reinicialização do systemd acontece, o systemd obtém um conjunto de pids para as crianças de sua propriedade. Olhando para o código fonte, systemd / src / core / killall.c parece mostrar que:
static int killall(int sig, Set *pids, bool send_sighup)
pega uma lista de pids para todos os filhos do systemd e é chamada por:
broadcast_signal(int sig, bool wait_for_exit, bool send_sighup)
Qual é o mesmo arquivo. Então eu assumo que qualquer filho de pid 1, irá eventualmente obter o sinal padrão de SIGTERM, e sem um arquivo unitário, o SIGHUP opcional provavelmente nunca é enviado, ele irá esperar o DefaultTimeoutStopSec configurado e então enviar um SIGKILL.