Embora essa resposta não resolva a ordem dos scripts que são executados durante um desligamento do RHEL 6, ela resolve o problema dos processos de eliminação do sistema antes que eles sejam interrompidos normalmente.
/etc/init/arcsight-services-stopall.conf:
# cleanup at system shutdown
# Does stop all on apps, stops monit instances, then does a clean.
start on starting rc RUNLEVEL=[016]
task
kill timeout 330
pre-start script
logger -s -t "ArcSight" "ArcSight ESM shutdown initiated..."
/etc/init.d/arcsight_services shutdown all
/etc/init.d/arcsight_services shutdown monit
/etc/init.d/arcsight_services clean all
sleep 300
end script
script
logger -s -t "ArcSight" "ArcSight ESM shutdown complete."
end script
A chave estava modificando start on starting rc RUNLEVEL=[016]
. Ao iniciar este script enquanto /etc/init/rc.conf
está apenas começando, ele bloqueia por 5 minutos, antes que os scripts sysv-rc sejam executados. Esperemos que, durante esses 5 minutos, todos os bancos de dados e aplicativos da ArcSight estejam normalmente parados. Os testes indicaram que tudo foi interrompido em 3 minutos, portanto, 5 minutos devem ser um atraso seguro.
É sempre bom ver um produto multimilionário exigir uma invasão de clientes.