Eu estava com a impressão de que um desligamento normal fecha todos os processos de qualquer maneira - isto é, chama SIGTERM neles, então espera que eles terminem - SIGTERM é o modo normal de terminar um processo e permitir que ele faça qualquer limpeza -up trabalho necessário antes de realmente terminar.
Ou seja, você não precisa se preocupar em fazer isso.