A solução sugerida é executar a unidade de serviço como um serviço normal - dê uma olhada na seção [Install] . Então tudo tem que ser pensado inversamente, dependências também. Porque a ordem de encerramento é a ordem de inicialização inversa. É por isso que o script deve ser colocado em ExecStop= .
A seguinte solução está funcionando para mim:
[Unit]
Description=...
[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=<your script/program>
[Install]
WantedBy=multi-user.target
RemainAfterExit=true é necessário quando você não tem uma ação ExecStart .
Depois de criar o arquivo, certifique-se de systemctl daemon-reload e systemctl enable yourservice --now .
Acabei de receber do IRC do systemd, os créditos vão para o mezcalero.