Eu vejo algumas opções. Uma é a opção brutal, que pode ser apropriada para um
sistema sem estado que não pode ser corrompido. Isso é adicionar a opção --force
a poweroff
poweroff --force
Os documentos para ele dizem: "Forçar parada imediata, desligar, reinicializar. Não entre em contato com o sistema init.".
Outros serviços continuarão em paralelo, mas o desligamento deve acontecer mais rápido.
O comportamento que você está vendo é porque o systemd está tentando inicializar o sistema como
rápido possível, fazendo o máximo possível, como em paralelo. Isso significa que se move
para uma próxima tarefa assim que uma dependência for satisfeita, não necessariamente quando uma
o serviço termina de funcionar.
Como a tela de login e outros serviços não dependem do serviço em execução,
eles estão sendo iniciados em paralelo, mesmo quando a seqüência de encerramento foi iniciada
para executar.
Você pode resolver seu problema, forçando o processo de inicialização a pausar e aguardar
sua tarefa para terminar antes de prosseguir. Primeiro, decida quais serviços devem começar
até que seu serviço personalizado seja concluído e adicione esses serviços ou destinos ao seu arquivo
com novas entradas Before = .