LINUX.ORG.RU
ФорумTalks

systemd - это отчасти аналог Service Control Manager ?

 ,


1

1

в одной из операционных систем есть такая подсистема:
msdn.microsoft.com/ru-ru/library/windows/desktop/ms685150(v=vs.85).aspx

Мне в ней важно то, что там определен протокол запуска и остановки сервисов и интерфейс, который должны поддерживать сервисы, чтобы считаться сервисами. А ещё сервисы могут взаимодействовать с десктопом (создавать окна).

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

Ещё такой вопрос - наверняка в DE есть способы запуска приложений при старте DE. И они как-нибудь могут повисать в трее. В принципе, эта вторая компонента могла бы коннектиться к сервису и по его запросам открывать окна...



Последнее исправление: StrongDollar (всего исправлений: 2)

Про взаимодействие с графикой (если это не о systemd/user) будешь спрашивать лет через 5, когда наконец-то запилят что-то на основе wayland как system compositor.

Интерфейс для демонов с systemd не нужен: можно написать что угодно, systemd сам демонизирует, переведёт stdout/stderr в journald и будет следить за перезапуском.

x3al ★★★★★
()
Последнее исправление: x3al (всего исправлений: 1)
Ответ на: комментарий от x3al

интерфейс не нужен

да? а как сервисы узнаЮт, что им пора останавливаться (например перед выключением машины)?

StrongDollar
() автор топика
Ответ на: комментарий от x3al

Интерфейс для демонов с systemd не нужен: можно написать что угодно, systemd сам демонизирует

Тут не всё так хорошо, как может показаться. Я недавно столкнулся с проблемой запуска самописного демона через системд. Необходимо было либо отдать демонизирование на откуп системд либо демонизироваться через двойной форк.

Stahl ★★☆
()
Ответ на: комментарий от x3al

Раньше любая система инициализации срать хотела на количество форков.
Системд — первая на моей памяти, когда это стало критично.
Я уж не говорю о том, что сама концепция двойного форка сродни дублированию rm «чтобы наверняка».

Stahl ★★☆
()
Ответ на: комментарий от Stahl

Я уж не говорю о том, что сама концепция двойного форка сродни дублированию rm «чтобы наверняка».

Остальное — ладно, но тут я всё-таки объективно не соглашусь.

http://stackoverflow.com/a/881434/857932

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Stahl

Системд — первая на моей памяти, когда это стало критично.

upstart в убунте тоже нуждается в указании форков. Там даже в доке есть скриптик по кол-ву форков. Иначе оно другой PID всосёт и конец всему произойдет, только ребут делать, ибо просто так удалить оттуда неверный PID нельзя.

http://upstart.ubuntu.com/cookbook/#expect

n_play
()

А ещё сервисы могут взаимодействовать с десктопом (создавать окна).

По большому счёту нет. Т.е. формально способ создать службу, которая сможет открывать окна можно, но глюков не оберёшся...

atrus ★★★★★
()
Ответ на: комментарий от grondek

Ну, например когда файрволл обнаружил подозрительную активность и спрашивает у пользователя - запретить или разрешить. Или мониторщик трафика локальной сети. Или контролёр файловой системы. Или антивирус.

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

Ну как бы для этого должна быть ОТДЕЛЬНАЯ программулина, висящая в трее например. И не надо впиливать несвойственные фичи в службы.

grondek
()
Ответ на: комментарий от grondek

почему она должна быть отдельной? Потребность инициации взаимодействия от сервиса есть? - есть!

StrongDollar
() автор топика
Ответ на: комментарий от grondek

Ну как бы для этого должна быть ОТДЕЛЬНАЯ программулина, висящая в трее например. И не надо впиливать несвойственные фичи в службы.

К стати abrtd так и работает.

Siado ★★★★★
()
Ответ на: комментарий от grondek

Вот я не совсем понимаю эту фичу винды, когда служба может генерировать окна. Зачем оно надо-то?

Если честно, я не знаю, чем они руководствовались, когда проектировали такое. Вероятно исходили из того, что управление вендой осуществляется польностью через GUI и иногда даже службе стоит иметь возможность открывать окна, но многочисленные проблемы, которые существовали изначально или появились позднее (кому откроется окно, если нет пользователей в системе, если это терминальный сервер и т.д.) сделали эту фичу бессмысленной.

Хотя, в тёмные времена, когда мне приходилось иметь дело с 1С 7, службе приходилось давать такое право, потому что даже COM-сервер 1С 7 был такой кривой, что требовал оконности для запуска. :)

atrus ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.