[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: systemd, чтоб его



>>>>> Eugene Berdnikov <bd4@protva.ru> writes:
>>>>> On Tue, Sep 16, 2014 at 06:19:19PM +0000, Ivan Shmakov wrote:
>>>>> Artem Chuprina <ran@ran.pp.ru> writes:

 >>> Впрочем, если смотреть шире, то в данном случае это вообще
 >>> замечательная и вся из себя прекрасная идея ленивых вычислений.
 >>> Которая, кстати, давно частично реализована в юниксах в части
 >>> сетевых взаимодействий (inetd).

 >>> Но полезность inetd ограничена тем, что он, во-первых, не умеет
 >>> действовать по схеме "при первом запросе поднять сервис и оставить
 >>> его работать" (а это довольно часто нужно), а во-вторых, не умеет
 >>> поднять зависимости.  А в-третьих, тем, что он это умеет только для
 >>> сети.

 >> Что примечательно, — inetd (почти уверен, — во всех его вариантах)
 >> умеет работать не занимая PID 1.  Зачем сие потребовалось Systemd —
 >> совершенно не представляю.

 > AFAIK, занять pid 1 можно ровно одним способом: быть процессом,
 > созданным ядром на шаге старта ОС после загрузки.  Никакого другого
 > способа "занять" конкретный pid не существует, ни 1й, ни любой
 > другой: API для этого в юниксах просто нет.

 > Соответственно, inetd никогда не "выбирает" себе pid, он просто
 > работает под тем, под которым оказался запущен.  Причём inetd можно
 > запустить несколько раз и несколько штук, в отличие от init'а,

	Внимание, вопрос: а действительно ли необходимо быть init-ом для
	решения перечисленных выше задач?  Тем более, что [1] приводит
	контрпримеры, в том числе и некий supervisor:

Package: supervisor
Description-en: A system for controlling process state
 Supervisor is a system for controlling and maintaining process state,
 similar to what init does, but not intended as an init replacement.
 .
 It will manage individual processes or groups of processes that
 need to be started and stopped in order, and it is possible to
 control individual process state via an rpc mechanism, thus allowing
 ordinary users to restart processes.

	(Примечательно: «but not intended as an init replacement».)

[1] http://blog.jorgenschaefer.de/2014/07/why-systemd.html

[…]

 >> Проблема в том, что Systemd очень уж желает занять PID, который у
 >> меня уже занят «классическим» SysV init.  (Ну разумеется, —
 >> «One init to run them all.»)  Боюсь, пока я не найду внятных
 >> обоснований для такого требования, — я не готов рассматривать
 >> Systemd в качестве альтернативы.

 > Нет ничего удивительного в том, что сервис, желающий стартовать всех,
 > подменяет init.  На месте авторов я бы тоже не заморачивался
 > поддержкой варианта "systemd + классический init".

	Для меня, как пользователя, важно, чтобы сервис исполнял мои
	желания.  Желания самого сервиса меня волнуют лишь постольку
	поскольку.

PS.  BTW, один из подписчиков сей рассылки, помнится, ратовал за
	использование windows-1251 вместо koi8-r — в качестве
	«кириллической однобайтной.»  Пользуясь случаем, — поддерживаю.

-- 
FSF associate member #7257  http://boycottsystemd.org/  … 3013 B6A0 230E 334A


Reply to: