Eugene Berdnikov <b...@protva.ru> wrote:
> On Fri, Sep 15, 2023 at 05:03:50PM +0300, Andrey Jr. Melnikov wrote:
> > Eugene Berdnikov <b...@protva.ru> wrote:
> > >  внутри контейнера. Вот у меня контейнеры с дебианами примерно от 2008 
> > > года
> > >  (с апдейтами, да), с такими строчками в inittab'e:
> > 
> > > # What to do when the power fails/returns.
> > > pf::powerwait:/etc/init.d/powerfail start
> > > pn::powerfailnow:/etc/init.d/powerfail now
> > > po::powerokwait:/etc/init.d/powerfail stop
> > 
> > >  причём никаких /etc/init.d/power* нет, а системы нормально гасятся и
> > >  поднимаются. Под systemd. 
> > Так systemd плевать хотел на /etc/initttab. Он им не пользуется.
>  В верхней строчке написано: "дебианы от 2008 года". Ясное дело, там SysV,
>  в контейнере, а не снаружи. Ты бы хоть читал то, на что отвечаешь...

Я говорил про lxc и его поведение. То, что у тебя контейнеры тупили при
остановке в 60 секунд - это оно и есть - сначала посылается SIGPWR, на
который нет реакци, ждётся 60 секунд и посылается SKIGKILL всему, что там
запущенно.

> > И на SIGPWR тоже, т.к. у Поттеринга на него алергия:

>  Согласен с Поттерингом: да, все варианты проблем с электропитанием в один
>  лишь SIGPWR запихнуть невозможно, потому и сакрального смысла в нём нет.
> 
>  Трахаться с ним или сразу закопать -- решать Поттерингу: он свои силы
>  тратит на движение прогресса, а мы пользуемся результатом.
Увы, Лёня ещё тот чудак на другую букву. И ничего нового (кроме сказок о том
как всё устарело) он и не сделал. Поэтому, SIGPWR как был - так и остался. И
вместо скриптика - вызывает sigpwr.target. Я бы понял, если бы он сделал 3
сигнала SIGPWR для информирования о том, что питание пропало, SIGRTMIN+x1
для информирования о том, что питание появилось обратно и SIGRTMIN+x2 - для
emergency power shutdown - был бы разговор о прогрессе и удобстве. 
А так - вот вам SIGPWR и всё дальше сами угадывайте. Да, задизайнить
SIGRTMIN+4 в poweroff и SIGRTMIN+14 в immediate poweroff - смог, но это
деление ничего не даёт в случае с пропаданием питания. Ни-че-го. Только
скриптик вызывающий "shutdown -h 0" заменили на sigpwr.target. Иннновации, ё!

Ответить