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.