The OpenNET Project / Index page

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



"Выпуск системы инициализации sysvinit 2.89"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Выпуск системы инициализации sysvinit 2.89" –1 +/
Сообщение от Ne01eX (ok), 31-Мрт-18, 10:13 
>[оверквотинг удален]
> Такое только на вашем локалхосте нормально. В дистрибутивных скриптах инициализации за
> это бьют ногами, ибо nginx мог уже упасть, а этот PID
> - быть занят другим процессом.
> Отсутствие вменяемого отслеживания процессов без состояний гонок, которое в systemd реализовано
> через cgroups, в sysvinit является одной из главных проблем. Запускаем процесс
> - а дальше хоть трава не расти. Вот и получаем код
> типа того, что написали вы. (Можно ещё killall mysqld вспомнить в
> официальном, блин, init-скрипте mysql. Я об этом узнал, когда попытка остановить
> зависший сервис БД привела к падению akonadi, у которого прибился локально
> запущенный *пользовательский* экземпляр mysqld.)

То что вы запускаете или прибиваете что-то не глядя ещё не говорит о недостатке чего-либо. С дуру можно и ... сломать, если им тыкать куда попало. Ну это вместо во-первых.

Те самые контейнеры процессов (они же контрольные группы процессов) появились в Linux не вчера и не с приходом systemd. Я конечно не буду никак ограничивать фантазию (не вашу, а вообще) их использования, но их основное предназначение не в этом.

*nix не любит дураков. Тем более, - дураков на месте системного администратора. Тем более, если он держит сервер БД на рабочей станции с KDE. :-) (куча смайлов, не воспринимайте близко к сердцу)

Но это не значит, что озвученный вами вопрос нельзя решить без systemd:


if [ -z "$(ps -A | grep $(cat $PID) | grep -v 'nginx')" ]; then
   kill -TERM $(cat $PID)
else
   echo "Вася ты уже бухой, иди спать!"
fi

и.т.д. по уже накатаной тропке...

Проблема решена, или занимаемся дальше? :-)

P.S. Можно было бы и свести всё к обработке исключения (как в примере с тем же ps выше по треду), но я решил что так будет нагляднее. :-)

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск системы инициализации sysvinit 2.89, opennews, 29-Мрт-18, 21:37  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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