Вопрос об уровнях выполнения, L_2009, 11-Окт-09, 14:36 [смотреть все]Здравствуйте!Задача: Необходимо написать скрипт-демон, который загружается при загрузке ОС и фиксирует причину завершения работы ОС (shutdown/reboot/crash). Вопрос: Каким образом, при получении сигнала SIGTERM, от init, узнать что СОБИРАЕТСЯ сделать система выключиться либо перезагрузиться? Условия: а) ОС - GNU/Linux - Gentoo б) т.к. не желательно, чтобы скрипт был дистрибутивно зависим, прошу не советовать создавать дополнительные /etc/runlevels в) cкрипт пишется на Perl Пожалуйста, подскажите ответ на мой вопрос. Спасибо, за Ваше время!
|
- Re: Вопрос об уровнях выполнения, DeadMustdie, 16:34 , 11-Окт-09 (1)
IMHO простейший вариант - написать шкрипт системы инициализации. Тем самым поймаются все события переключения между уровнями исполнения.Пока что за редким исключением (основное - Solaris) почти любая UNIX/Linux система использует System V - подобную систему инициализации, так что подход почти универсальный. К сожалению (IMHO, конечно), последнее время возникла мода на событийно управляемую модель инициализации. Стандарта на неё нет, каждый лабает в меру собственного соображения и воображения - поэтому унификация в данном вопросе постепенно теряется.
- Вопрос об уровнях выполнения, ACCA, 03:32 , 12-Окт-09 (2)
>Каким образом, при получении сигнала SIGTERM, от init, узнать что СОБИРАЕТСЯ сделать >система выключиться либо перезагрузиться? Копай в сторону who -r run-level 0 = shutdown, 6 = reboot. Учти, что на run-level 1 совать свою шнягу крайне нежелательно. SIGTERM получишь, а что дальше будет - одному root'у известно.
|