Eu não sou um guru do Linux, mas sim um noob, mas para executar o script de desligamento você deve criar um arquivo de bloqueio na pasta / var / lock / subsys / no seu script de inicialização. Eu encontrei a resposta aqui: Fórum do CentOS
Exemplo de script:
#!/bin/sh
# chkconfig: 345 98 11
# description: my auto start-stop script.
echo "my service is doing something :)" >> /root/tempfile
case "$1" in
start)
echo "my service started" >> /root/tempfile
touch /var/lock/subsys/myservice
echo "OK"
;;
stop)
echo "my service stoped" >> /root/tempfile
rm -f /var/lock/subsys/myservice
echo "OK"
;;
esac