Для того чтобы демон ИБП мог потушить весь сервер ему нужны соответствующие 
права, а он может быть запущен с понижением привилегий. И послать сигнал SIGPWR 
иниту он может, а вот уже запустить /sbin/shutdown — рожей не вышел.

В воскресенье 24 сентябрь 2023 10:58:55 (+03:00), Max Nikulin пишет:

> On 24/09/2023 01:52, Andrey Jr. Melnikov wrote:
> > Вот и смотри - есть демон, который мониторит сосотяние UPS'a - пропало
> > питание - посылает сигнал, появилось - посылает сигнал (ну тут всё
> > стандартно, так уже лет 40 делают). Просто удобнее, когда у тебя есть
> > понимание - init дернул power-loss скриптик, в котором уже можно оценить
> > масштаб проблемы, остановить нужное и принять решение - ждём восстановления
> > или отключаемся. Или init дернул power-restored - когда поднимаем
> > остановленное или в зависимости от - тупо перезагружаемся.
> > Нет, через один SIGPWR это тоже всё решалось и решается, только вот скриптик
> > будет разляпистее.
> 
> Я все еще сомневаюсь, нужно ли здесь завязываться на init.
> 
> Почему обычный демон не может сам запускать, в зависимости от ситуации, либо 
> power-loss, либо power-restored скрипты? В чем польза того, что в промежутке 
> между ними init и сигналы?
> 
> Единственное преимущество от SIGPWR, которое я вижу, - это зафиксированный 
> API. Недостаток - API очень ограниченный. Даже если добавить еще сигналов, то 
> становится не очевидно, какому сигналу соответствует событие. /etc/inittab 
> как известная точка конфигурации для меня не убедительное достоинство, не 
> SysV init может использовать другой файл, чтобы назначать обработчики.
> 
> Если скрипты запускаются напрямую демоном, который слушает SNMP, то событий 
> может быть несколько и со вполне нормальными именами. Главная проблема - 
> договориться о именах скриптов и их параметрах. Иначе будет головная боль с 
> тем, что у каждого производителя UPS они будут свои и не очень совместимые 
> между собой. Да, договариваться сложно, уходящий корнями в прошлое SIGPWR, 
> выглядит более знакомым и поэтому привлекательным.
> 
> 

Ответить