Você faz isso com systemd , embora eu não saiba o quanto é aconselhável. Se o serviço falhar ou precisar ser reiniciado durante uma atualização, a máquina também será desligada nesses casos!
Você pode adicionar isso ao seu arquivo de arquivo systemd unit para seu serviço:
ExecStopPost=/sbin/halt
Veja man systemd.service para todos os documentos e isenções de responsabilidade sobre ExecStopPost .