The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Вопрос об уровнях выполнения, !*! 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'у известно.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру