Хотя в этом ответе не рассматривается порядок выполнения скриптов во время завершения работы RHEL 6, он решает проблему завершения процессов системы до того, как они будут корректно остановлены.
/ 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
Ключ изменял запуск при запуске rc RUNLEVEL = [016]
. При запуске этого сценария в то время, когда /etc/init/rc.conf
только запускается, он блокируется на 5 минут перед выполнением сценариев sysv-rc. Надеюсь, что в течение этих 5 минут все базы данных и приложения ArcSight будут корректно остановлены. Тестирование показало, что все было остановлено в течение 3 минут, поэтому 5 минут должно быть безопасной задержкой.
Всегда приятно видеть, что продукт стоимостью в несколько миллионов долларов требует взлома клиента.