Гость
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как по новому пишется демон? systemd вместо init.d? fork() не нужен? / 25 сообщений из 368, страница 1 из 15
06.10.2020, 11:35
    #40005649
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
Нужен минимальный код демона либо на C++ либо на Qt.
Только под линукс.
...
Рейтинг: 0 / 0
06.10.2020, 12:14
    #40005659
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
PetroNotC Sharp, также, как и по старому. Ничего не поменялось.
Делаешь fork(), если результат положительный, значит ты в родителе - вываливаешься, оставляя потомка сиротой (его усыновит init); если результат == 0, ты в потомке - в демоне, инициализируешь перехват и обработку сигналов и далее...
...
Рейтинг: 0 / 0
06.10.2020, 12:19
    #40005661
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
PetroNotC Sharp,

fork не нужен.
Демон это просто любая программа, которая не завершается, а выполняет какую-то работу, например слушает на TCP сокете.
В юнит файле указываете для нее (помимо других опций) тип сервиса:
Код: plaintext
1.
2.
[Service]
Type=simple




ЗЫ. Но старые демоны с fork тоже поддерживаются (Type=forking).
...
Рейтинг: 0 / 0
06.10.2020, 12:27
    #40005664
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
без форка надо будет hup делать, что не комильфо
...
Рейтинг: 0 / 0
06.10.2020, 12:34
    #40005668
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
Anatoly Moskovsky,

Пробую
...
Рейтинг: 0 / 0
06.10.2020, 12:38
    #40005672
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
Anatoly Moskovsky,
Юнит файл где создать?
Счас
etc/systemd/system/my.service это линк на
lib/systemd/...
...
Рейтинг: 0 / 0
06.10.2020, 12:44
    #40005674
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
rdb_dev,
Как не изменилось, если от заказчика сервис это скрипт в /etc/init.d/
А так называемый юнит файл отсутствует.
...
Рейтинг: 0 / 0
06.10.2020, 12:45
    #40005675
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
Алексей Роза 2020
без форка надо будет hup делать, что не комильфо
это пока не дошел. Мне бы запустить hello world))))
...
Рейтинг: 0 / 0
06.10.2020, 12:48
    #40005678
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
Алексей Роза 2020без форка надо будет hup делать

С systemd - не надо. Он способен демонизировать всё что угодно и как угодно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.10.2020, 12:50
    #40005679
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
Anatoly Moskovsky,

Нашел
/usr/lib/systemd/system/: юниты, предоставляемые пакетами при их установке;
/etc/systemd/system/: юниты, устанавливаемые системным администратором.
...
Рейтинг: 0 / 0
06.10.2020, 12:52
    #40005680
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
PetroNotC Sharpот заказчика сервис это скрипт в /etc/init.d/

Так тебя свой сервис или "от заказчика" (что бы это ни значило)? systemd поддерживает и
старую init.d систему.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.10.2020, 12:53
    #40005681
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
Anatoly Moskovsky, демона отличает то, что его "родителем" становится процесс init, который и приглядывает за демоном, и хоронит его, если тот склеил ласты и перешёл в состояние "зомби".
...
Рейтинг: 0 / 0
06.10.2020, 12:55
    #40005683
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
PetroNotC Sharp
rdb_dev,
Как не изменилось, если от заказчика сервис это скрипт в /etc/init.d/
А так называемый юнит файл отсутствует.
man systemd.unit
...
Рейтинг: 0 / 0
06.10.2020, 12:58
    #40005684
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
Dimitry Sibiryakov

Алексей Роза 2020без форка надо будет hup делать

С systemd - не надо. Он способен демонизировать всё что угодно и как угодно.
SIGHUP, как правило, используют для того, чтобы заставить демона перечитать и переприменить конфигурацию без рестарта демона.
...
Рейтинг: 0 / 0
06.10.2020, 13:01
    #40005686
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
Dimitry Sibiryakov
PetroNotC Sharpот заказчика сервис это скрипт в /etc/init.d/

Так тебя свой сервис или "от заказчика" (что бы это ни значило)? systemd поддерживает и
старую init.d систему.мне свой новый. А перед глазами от заказчика по старому.
...
Рейтинг: 0 / 0
06.10.2020, 13:02
    #40005687
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
rdb_dev
Dimitry Sibiryakov

пропущено...

С systemd - не надо. Он способен демонизировать всё что угодно и как угодно.
SIGHUP, как правило, используют для того, чтобы заставить демона перечитать и переприменить конфигурацию без рестарта демона.
ну дак по новому это
systemctl reload?
...
Рейтинг: 0 / 0
06.10.2020, 13:03
    #40005689
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
rdb_dev
PetroNotC Sharp
rdb_dev,
Как не изменилось, если от заказчика сервис это скрипт в /etc/init.d/
А так называемый юнит файл отсутствует.
man systemd.unit
некогда доки читать. Код пишу)))
...
Рейтинг: 0 / 0
06.10.2020, 13:06
    #40005690
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
rdb_dev
Anatoly Moskovsky, демона отличает то, что его "родителем" становится процесс init, который и приглядывает за демоном, и хоронит его, если тот склеил ласты и перешёл в состояние "зомби".
ключевое слово - становится.
Сразу нельзя создать под init?
...
Рейтинг: 0 / 0
06.10.2020, 13:17
    #40005694
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
PetroNotC Sharp
rdb_dev
SIGHUP, как правило, используют для того, чтобы заставить демона перечитать и переприменить конфигурацию без рестарта демона.
ну дак по новому это
systemctl reload?
И как, по твоему, демон должен перечитать конфигурацию без соответствующей реализации?
...
Рейтинг: 0 / 0
06.10.2020, 13:19
    #40005695
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
PetroNotC Sharp
rdb_dev
man systemd.unit
некогда доки читать. Код пишу)))
Всё равно придётся прочесть, чтобы научить systemd призывать твоего демона.
...
Рейтинг: 0 / 0
06.10.2020, 13:20
    #40005697
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
PetroNotC Sharp
ключевое слово - становится.
Сразу нельзя создать под init?
Штатным способом нет.
...
Рейтинг: 0 / 0
06.10.2020, 13:25
    #40005698
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
На тебе хороший пример systemd.unit'а
Обрати внимание на строку 23.
...
Рейтинг: 0 / 0
06.10.2020, 13:30
    #40005700
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
rdb_devSIGHUP, как правило, используют для того, чтобы заставить демона перечитать и
переприменить конфигурацию без рестарта демона.

Для этого надо чтобы
1) у демона была конфигурация;
2) он умел её применять без рестарта.

Второе - задача довольно-таки нетривиальная.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.10.2020, 13:32
    #40005701
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
Dimitry Sibiryakov, естественно!
...
Рейтинг: 0 / 0
06.10.2020, 13:43
    #40005706
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по новому пишется демон? systemd вместо init.d? fork() не нужен?
rdb_dev
На тебе хороший пример systemd.unit'а
Обрати внимание на строку 23.
мне минимальный конфиг нужен.
И перезагрузку не гася сервис я лет 10 в винде не использовал. Оффтоп.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как по новому пишется демон? systemd вместо init.d? fork() не нужен? / 25 сообщений из 368, страница 1 из 15
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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