powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
25 сообщений из 368, страница 3 из 15
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005772
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
rdb_dev,
Вот это помоги осмыслить.

Демоны нового стиля
Современные сервисы для Linux должны быть реализованы как демоны нового стиля.
Это упрощает наблюдение и управление во время выполнения и
упрощает их выполнение.

Для разработки демона нового стиля ни один из шагов инициализации
рекомендуется для демонов SysV. Инициализация нового стиля
такие системы, как systemd, делают их все избыточными. Более того, поскольку
некоторые из этих шагов мешают мониторингу процесса,
Это результат работы google переводчика? Лучше приведи ссылку на оригинал статьи.
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005775
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
Службе не нужен fork(), он нужен демону.

Демон - это всего лишь частный случай службы.
В systemd нет отдельного понятия демон. Там любой демон реализуется просто службой. При этом программа реализующая службу может и не знать что она работает в режиме демона.
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005777
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
...
Вы были бы совершенно правы, если бы маленько не заблуждались.
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005778
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,
Вот тоже не понял разницу Служа, демон, сервис))))
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005779
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашёл...
Код: plaintext
1.
2.
3.
4.
5.
6.
DESCRIPTION
       A daemon is a service process that runs in the background and supervises the system
       or provides functionality to other processes. Traditionally, daemons are implemented
       following a scheme originating in SysV Unix. Modern daemons should follow a simpler
       yet more powerful scheme (here called "new-style" daemons), as implemented by
       systemd(1). This manual page covers both schemes, and in particular includes
       recommendations for daemons that shall be included in the systemd init system.
Ключевая фраза (here called "new-style" daemons) ! Просто они так назвали обычные программы, которые пинает и контролирует systemd. Видимо, для упрощения объяснения терминологии, чтобы не распинаться долго и упорно, как некоторые, вроде меня. :)
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005781
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Anatoly Moskovsky,
Вот тоже не понял разницу Служа, демон, сервис))))
"Служба" это перевод с англ. слова "сервис". Что тут непонятного?
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005782
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

New-Style Daemons
Modern services for Linux should be implemented as new-style daemons.
This makes it easier to supervise and control them at runtime and
simplifies their implementation.

For developing a new-style daemon, none of the initialization steps
recommended for SysV daemons need to be implemented. New-style init
systems such as systemd make all of them redundant. Moreover, since
some of these steps interfere with process monitoring,
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005784
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
PetroNotC Sharp
Anatoly Moskovsky,
Вот тоже не понял разницу Служа, демон, сервис))))
"Служба" это перевод с англ. слова "сервис". Что тут непонятного?
ну а про демонов?
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005786
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
нашёл...
Код: plaintext
1.
2.
3.
4.
5.
6.
DESCRIPTION
       A daemon is a service process that runs in the background and supervises the system
       or provides functionality to other processes. Traditionally, daemons are implemented
       following a scheme originating in SysV Unix. Modern daemons should follow a simpler
       yet more powerful scheme (here called "new-style" daemons), as implemented by
       systemd(1). This manual page covers both schemes, and in particular includes
       recommendations for daemons that shall be included in the systemd init system.
Ключевая фраза (here called "new-style" daemons) ! Просто они так назвали обычные программы, которые пинает и контролирует systemd. Видимо, для упрощения объяснения терминологии, чтобы не распинаться долго и упорно, как некоторые, вроде меня. :)
ну. То есть с 8 версии дебиан новый механизм?
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005787
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovпропускать этап "демонизации" процесса-сервиса.

Точнее сказать - не обращать внимания на преждевременное завершение запущенного процесса.

Внешняя демонизация мне неизвестна.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005793
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
Код: plaintext
A daemon is a service process that runs in the background 

Если запустить любую программу в systemd service unit type=simple, то она будет демоном согласно этому вашему же определению )))
- service process
- runs in the background
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005794
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Basil A. Sidorovпропускать этап "демонизации" процесса-сервиса.

Точнее сказать - не обращать внимания на преждевременное завершение запущенного процесса.Похожего эффекта можно добиться с помощью Type=oneshot.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
If set to  forking , it is expected that the process configured with ExecStart=
will call fork() as part of its start-up. The parent process is expected to exit
when start-up is complete and all communication channels are set up. The child
continues to run as the main daemon process. This is the behavior of traditional
UNIX daemons. If this setting is used, it is recommended to also use the
PIDFile= option, so that systemd can identify the main process of the daemon.
systemd will proceed with starting follow-up units as soon as the parent process
exits.

Behavior of  oneshot  is similar to simple; however, it is expected that the
process has to exit before systemd starts follow-up units.  RemainAfterExit= is
particularly useful for this type of service. This is the implied default if
neither Type= or ExecStart= are specified.
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005796
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
rdb_dev
Код: plaintext
A daemon is a service process that runs in the background 

Если запустить любую программу в systemd service unit type=simple, то она будет демоном согласно этому вашему же определению )))
- service process
- runs in the background
Это не моё определение.
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005800
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
ну. То есть с 8 версии дебиан новый механизм?
Нет. Принципиально ничего не поменялось.
Просто в линухе запилили что-то типа RunAsService в лице демона systemd, который позволяет превращать привычным способом запускаемые программы в так называемые "new-style" daemons . :) Так понятнее?
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005803
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
Похожего эффекта можно добиться с помощью Type=oneshot
Вот simple и oneshot - два принципиально разных типа сервисов. Они даже близко не могут заменить друг друга.
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005804
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov, прочти внимательней! Имелась в виду схожесть forking и oneshot , а не oneshot и simple .
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005805
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,
Понятнее)).
Теперь смотри.
Я не ставил fork в main.
systemctl status my
Показывает
The FLY login manager.
Из за этого?
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005810
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, ты зарегистрировал его в качестве службы my.service, создав соответствующий текстовый файл в правильном каталоге systemd? А systemctl daemon-reload тоже сделал?
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005811
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
rdb_dev,
Понятнее)).
Теперь смотри.
Я не ставил fork в main.
systemctl status my
Показывает
The FLY login manager.
Из за этого?
упс. Разобрался)
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005812
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
Имелась в виду схожесть forking и oneshot
И эти два ни разу не схожи. Если, конечно, вас интересует функционал, а не выпендрёж.
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005814
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Внешняя демонизация мне неизвестна.
Код: plaintext
 nohup
?
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005815
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov, немного схожи, если для Type=forking не указывать pid-файл.
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005816
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,
Короче. Он стартует и сразу неактивный.
Из за return 0;
?
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005819
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, если ты в запускаемом коде программы делаешь fork(), в my.service у тебя Type=forking, в потомке ты создаёшь pid-файл, путь к которому указан в my.service и в потомке крутится какой-то цикл, то так быть не должно! Но если ты сделал обычную программу и запускаешь её с Type=simple, а программа просто сразу завершает работу, вместо того, чтобы изображать из себя службу и крутить какой-то цикл, то всё Ok.
...
Рейтинг: 0 / 0
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
    #40005822
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Из за return 0;
А должно быть:
Код: plaintext
1.
while (true) ...
...
Рейтинг: 0 / 0
25 сообщений из 368, страница 3 из 15
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]