URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 1148
[ Назад ]

Исходное сообщение
"Программа-демон"

Отправлено Велес , 01-Дек-02 23:22 
Никто не может выложить исходник простой программы-демона (очень нужно)?

Содержание

Сообщения в этом обсуждении
"RE: Программа-демон"
Отправлено anonymous , 03-Дек-02 08:28 
>Никто не может выложить исходник простой программы-демона (очень нужно)?
Здесь лежит простенький пример, так сказать, базовый каркас:
http://www.enderunix.org/docs/eng/daemon.php

"RE: Программа-демон"
Отправлено Велес , 05-Дек-02 07:53 
>>Никто не может выложить исходник простой программы-демона (очень нужно)?
>Здесь лежит простенький пример, так сказать, базовый каркас:
>http://www.enderunix.org/docs/eng/daemon.php
а есть такой же базовый каркас, но с русскими комментариями?


"RE: Программа-демон"
Отправлено pLYM0rph , 05-Дек-02 08:31 
>>>Никто не может выложить исходник простой программы-демона (очень нужно)?
>>Здесь лежит простенький пример, так сказать, базовый каркас:
>>http://www.enderunix.org/docs/eng/daemon.php
>а есть такой же базовый каркас, но с русскими комментариями?
Да там и так все понятно:
1. Для начала делаем fork(), потом освобождаемся от родителя (parent process),
и как следствие этого наш child-process становится потомком init процесса
2. Сервер не должен получать сигналы от процесса который его запустил,
значит мы должны отцепиться от управляющего терминала и создать новую группу процессов
3. Перенаправляем stdin(0), stdout(1), stderr(2) в /dev/null
4. Выставляем маску создания файлов по умолчанию
5. Меняем, если необходимо, текущую дирекиорию
6. Создаем lock/pid файл и записываем туда process id
7. Пишем функцию-обработчик нужных нам сигналов (SIGTERM, SIGHUP)
8. И на последок выбираем систему ведения логов (log file method, syslog server)

"RE: Программа-демон"
Отправлено fefelov , 05-Дек-02 16:21 
А поискать в этом форуме не досуг?
http://www.opennet.me/openforum/vsluhforumID9/789.html

"RE: Программа-демон"
Отправлено Велес , 08-Дек-02 12:15 
Как вообще работают программы демоны.. не со стороны исходного текста программы, а со стороны юзера? т.е. что он получает, запустив эту программу..


"RE: Программа-демон"
Отправлено pLYM0rph , 09-Дек-02 08:30 
>Как вообще работают программы демоны.. не со стороны исходного текста программы, а
>со стороны юзера? т.е. что он получает, запустив эту программу..
Ответить на этот вопрос сложно, не ссылаясь на исходный код программы!
Если говорить об этом конкретном примере, то этот демон с точки зрения
user'а ничего не делает...
Обычно в функции демона входит выполнение определенных задач по обслуживанию
различных сервисных функций

"RE: Программа-демон"
Отправлено Велес , 10-Дек-02 01:16 
>Ответить на этот вопрос сложно, не ссылаясь на исходный код программы!
а можно исходник какого-нибудь простенького демона, который чтолибо делает... просто для примера.. буду очень признателен :)


"RE: Программа-демон"
Отправлено pLYM0rph , 10-Дек-02 09:01 
>>Ответить на этот вопрос сложно, не ссылаясь на исходный код программы!
>а можно исходник какого-нибудь простенького демона, который чтолибо делает... просто для примера..
>буду очень признателен :)
In FreeBSD: /usr/share/doc/en/books/developers-handbook/sockets-essential-fuctions.html
Обычно взаимодействие демона с клиентом происходит через различные
механизмы IPC: pipe, FIFO, sockets, semaphores & etc.