anonymous@RULINUX.NET~# Last login: 2024-04-26 19:21:46
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Мануал по написанию демонов.

Впрос: существует ли ман по написанию программ-демонов. да и вообще резидентных программ? С пояснениями и прочим? Заранее спасибо.

Dorif(*) (2013-01-08 22:21:40)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko) Ubuntu/12.10 Chromium/22.0.1229.94 Chrome/22.0.1229.94 Safari/537.4

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: Мануал по написанию демонов. от Dorif 2013-01-08 22:21:40
avatar
Скрыть

Re:Мануал по написанию демонов.

Клиент - сервер же , какие еще резидентные, не ДОС ведь.

anonymous(*)(2013-01-08 22:45:45)

Mozilla/5.0 (X11; Linux i686; rv:10.0.10) Gecko/20100101 Firefox/10.0.10 Iceweasel/10.0.10
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от anonymous 2013-01-08 22:45:45
avatar
Скрыть

Re:Мануал по написанию демонов.

Думаю, он правильно высказался о демонах. Просто понятие "резидента" стойко ассоциируется с ДОСом.

Bod(*)(2013-01-08 22:54:23)

Mozilla/5.0 (X11; Linux i686; rv:10.0.11) Gecko/20100101 Firefox/10.0.11 Iceweasel/10.0.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от anonymous 2013-01-08 22:45:45
avatar
Скрыть

Re:Мануал по написанию демонов.

Резиденты не только в ДОС есть.

Dorif(*)(2013-01-08 22:54:32)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko) Ubuntu/12.10 Chromium/22.0.1229.94 Chrome/22.0.1229.94 Safari/537.4
[#] [Добавить метку] [Редактировать] Ответ на: Мануал по написанию демонов. от Dorif 2013-01-08 22:21:40
avatar
Скрыть

Re:Мануал по написанию демонов.

http://habrahabr.ru/post/129207/

Bod(*)(2013-01-08 22:55:01)

Mozilla/5.0 (X11; Linux i686; rv:10.0.11) Gecko/20100101 Firefox/10.0.11 Iceweasel/10.0.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Bod 2013-01-08 22:55:01
avatar
Скрыть

Re:Мануал по написанию демонов.

И вообще

http://www.google.com/search?q=написание+демонов+линукс

Bod(*)(2013-01-08 22:55:43)

Mozilla/5.0 (X11; Linux i686; rv:10.0.11) Gecko/20100101 Firefox/10.0.11 Iceweasel/10.0.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от anonymous 2013-01-08 22:45:45
avatar
Скрыть

Re:Мануал по написанию демонов.

Не всегда, кстати, модель клиент-сервер применима. crond, например взаимодействует с окружением через свой конфиг, где юзер прописывает что и когда cron должен запускать на выполнение.

Иногда сам демон может содержать в себе средства для общения с самим собой.

Короче: меня интересует как оно реализуется и как взаимодействует с окружением.

Dorif(*)(2013-01-08 22:59:22)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko) Ubuntu/12.10 Chromium/22.0.1229.94 Chrome/22.0.1229.94 Safari/537.4
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Dorif 2013-01-08 22:59:22
avatar
Скрыть

Re:Мануал по написанию демонов.

А при чём тут cron?

Bod(*)(2013-01-08 23:01:28)

Mozilla/5.0 (X11; Linux i686; rv:10.0.11) Gecko/20100101 Firefox/10.0.11 Iceweasel/10.0.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Bod 2013-01-08 23:01:28
avatar
Скрыть

Re:Мануал по написанию демонов.

пример демона. есть ж crond, резидентно висящий в памяти.

Dorif(*)(2013-01-08 23:15:36)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko) Ubuntu/12.10 Chromium/22.0.1229.94 Chrome/22.0.1229.94 Safari/537.4
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Dorif 2013-01-08 22:54:32
avatar
Скрыть

Re:Мануал по написанию демонов.

https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B7%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0

Это вики определение. Не буду спорить по терминологии, но что тебе нужно от "резидентности" в linux ?

anonymous(*)(2013-01-08 23:17:08)

Mozilla/5.0 (X11; Linux i686; rv:10.0.10) Gecko/20100101 Firefox/10.0.10 Iceweasel/10.0.10
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от anonymous 2013-01-08 22:45:45
avatar
Скрыть

Re:Мануал по написанию демонов.

> Клиент - сервер же


Ты не поверишь))) Демоны очень часто не взаимодействуют с другими программами на прямую, то есть назвать их серверами (в смысле что у них есть клиент) не совсем правильно. Кроме приведенного выше примера, могу привести например ntpd - это например типичный клиент.

Демон это программа загружаемая (запускаемая) особым образом.

Ax-Xa-Xa(*)(2013-01-08 23:20:23)
Отредактировано Ax-Xa-Xa по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Dorif 2013-01-08 23:15:36
avatar
Скрыть

Re:Мануал по написанию демонов.

> пример демона. есть ж crond, резидентно висящий в памяти.


Я наверное не понял. Именно как пример демона - это катит.

Bod(*)(2013-01-08 23:21:10)

Mozilla/5.0 (X11; Linux i686; rv:10.0.11) Gecko/20100101 Firefox/10.0.11 Iceweasel/10.0.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Dorif 2013-01-08 22:59:22
avatar
Скрыть

Re:Мануал по написанию демонов.

> Короче: меня интересует как оно реализуется и как взаимодействует с окружением.
есть масса статей на тему, волшебные слова linux daemon

Ax-Xa-Xa(*)(2013-01-08 23:23:16)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Ax-Xa-Xa 2013-01-08 23:20:23
avatar
Скрыть

Re:Мануал по написанию демонов.

Это частные случаи клиент - сервера.

Резидент в моем понимании, это наример какой нить процесс взлома md5 работающий в фоне, но отвечающий на kill -HUP.

То есть почти любой пользовательский процесс в linux.

anonymous(*)(2013-01-08 23:27:54)

Mozilla/5.0 (X11; Linux i686; rv:10.0.10) Gecko/20100101 Firefox/10.0.10 Iceweasel/10.0.10
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Ax-Xa-Xa 2013-01-08 23:23:16
avatar
Скрыть

Re:Мануал по написанию демонов.

Чего то меня, блять. зацепило слово "резидент". Да в многозадачной среде, млин, резидент вообще лишён смысла. Это именно демон..

Всё. Я больше не могу грузиться. Мне и так хреново. Типа не постил - не постил и тут вдруг разговелся..

Bod(*)(2013-01-08 23:28:11)

Mozilla/5.0 (X11; Linux i686; rv:10.0.11) Gecko/20100101 Firefox/10.0.11 Iceweasel/10.0.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Bod 2013-01-08 23:28:11
avatar
Скрыть

Re:Мануал по написанию демонов.

Ага, это знатный троллинг от Дорифа, сказал бы "Демон" и вопросов бы небыло...

anonymous(*)(2013-01-08 23:30:48)

Mozilla/5.0 (X11; Linux i686; rv:10.0.10) Gecko/20100101 Firefox/10.0.10 Iceweasel/10.0.10
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от anonymous 2013-01-08 23:30:48
avatar
Скрыть

Re:Мануал по написанию демонов.

> Ага, это знатный троллинг от Дорифа, сказал бы "Демон" и вопросов бы небыло...


Возможно, и тогда он хорошо закусил "резидентами в твоём понимании", в линуксе)))

Ax-Xa-Xa(*)(2013-01-08 23:40:15)
Отредактировано Ax-Xa-Xa по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Dorif 2013-01-08 22:59:22
avatar
Скрыть

Re:Мануал по написанию демонов.

>Короче: меня интересует как оно реализуется и как взаимодействует с окружением.
Обычно принято использовать сигналы для контроля демонов, ну а остальное - на твой вкус. Никаких особо строгих правил нет.

SystemV(*)(2013-01-08 23:45:04)

Emacs-w3m/1.4.508 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Ax-Xa-Xa 2013-01-08 23:23:16
avatar
Скрыть

Re:Мануал по написанию демонов.

Можно хть парочку? Лень мусор в выдаче поисковика разгребать.( Если будет что с IBM Developerworks - вообще шикарно будет!

Dorif(*)(2013-01-08 23:46:07)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko) Ubuntu/12.10 Chromium/22.0.1229.94 Chrome/22.0.1229.94 Safari/537.4
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Dorif 2013-01-08 23:46:07
avatar
Скрыть

Re:Мануал по написанию демонов.

> Можно хть парочку? Лень мусор в выдаче поисковика разгребать.
Вот весьма интересная статья по теме

Ax-Xa-Xa(*)(2013-01-08 23:52:15)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Dorif 2013-01-08 23:46:07
avatar
Скрыть

Re:Мануал по написанию демонов.

>Можно хть парочку? Лень мусор в выдаче поисковика разгребать.
На самом деле способов много. Вот, например: http://www.itp.uzh.ch/~dpotter/howto/daemonize#a_more_useful_example. Тут они форкаются и отрывают от себя stdin с stdout.

Но ты не обязан делать так. Можно сделать просто программу, которая будет висеть и ждать чего-либо (с бесконечным циклом и т.д.), и запускать её через start-stop-daemon, или какое-нибудь другое средство. Или даже через башевский nohup и &.

SystemV(*)(2013-01-08 23:57:07)

Emacs-w3m/1.4.508 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от SystemV 2013-01-08 23:57:07
avatar
Скрыть

Re:Мануал по написанию демонов.

> которая будет висеть и ждать чего-либо (с бесконечным циклом и т.д.)


Плохому учишь?)))

Ax-Xa-Xa(*)(2013-01-08 23:59:20)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Ax-Xa-Xa 2013-01-08 23:59:20
avatar
Скрыть

Re:Мануал по написанию демонов.

>Плохому учишь?)))
Почему плохому? Бесконечный цикл не обязан жрать процессор, можно ждать event-ов от чего-нибудь через epoll. А что программа использует сторонние средства для демонизации - вдвойне хорошо, т.к. не стоит ограничивать юзера, вдруг ему надо будет пускать её без форка в бэкграунд (для дебага, например).

SystemV(*)(2013-01-09 00:02:34)

Emacs-w3m/1.4.508 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от SystemV 2013-01-09 00:02:34
avatar
Скрыть

Re:Мануал по написанию демонов.

>> Плохому учишь?)))
> Почему плохому? Бесконечный цикл не обязан жрать процессор


Так и пиши, что бесконечный цикл со слипом. А то когда Дориф запустит такую программу, а особенно если у него на проце одно ядро и т.п. Он может помянуть не добрым словом твою карму)))

> А что программа использует сторонние средства для демонизации - вдвойне хорошо
А это верно, сам всегда поначалу сервисы прогоняю под upstartом, а потом уже им дописываю демонизацию, вернее просто заворачиваю в демонизирующийся класс.

Ax-Xa-Xa(*)(2013-01-09 00:08:32)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от SystemV 2013-01-09 00:02:34
avatar
Скрыть

Re:Мануал по написанию демонов.

А вообще исчерпывающая статья на тему здесь.

Ax-Xa-Xa(*)(2013-01-09 00:10:07)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Ax-Xa-Xa 2013-01-09 00:08:32
avatar
Скрыть

Re:Мануал по написанию демонов.

>Так и пиши, что бесконечный цикл со слипом. А то когда Дориф запустит такую программу, а особенно если у него на проце одно ядро и т.п. Он может помянуть не добрым словом твою карму)))
Ну я думаю Дориф это понимает:)

>А это верно, сам всегда поначалу сервисы прогоняю под upstartом, а потом уже им дописываю демонизацию, вернее просто заворачиваю в демонизирующийся класс.
Можно полностью положиться на систему в вопросах демонизации, вообще без реализации в программе. Вон, Поттеринг так рекомендует для неких new-style демонов с systemd. Такое и на других системах прокатит, в общем-то. Но тут надо на задачу программы уже смотреть.

SystemV(*)(2013-01-09 00:17:37)

Emacs-w3m/1.4.508 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Ax-Xa-Xa 2013-01-08 23:52:15
avatar
Скрыть

Re:Мануал по написанию демонов.

> Вот весьма интересная статья по теме

Плохо протроллено. Мне кажется тот тред нуждается в ненависти и религиозном угаре.

anonymous(*)(2013-01-09 02:36:54)

[#] [Добавить метку] [Редактировать] Ответ на: Мануал по написанию демонов. от Dorif 2013-01-08 22:21:40
avatar
Скрыть

Re:Мануал по написанию демонов.

Наверное в репозитарии каждого дистра есть пакет с примерами кода демонов. Только навскидку не припомню название.

anonymous(*)(2013-01-09 02:45:30)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от SystemV 2013-01-09 00:17:37
avatar
Скрыть

Re:Мануал по написанию демонов.

> неких new-style демонов

man 7 daemon

anonymous(*)(2013-01-09 02:46:34)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Dorif 2013-01-08 22:54:32
avatar
Скрыть

Re:Мануал по написанию демонов.

http://en.wikipedia.org/wiki/Terminate_and_Stay_Resident

Ты бы не позорился. В ОС с многозадачностью нет никаких резидентов

Vasily(*)(2013-04-10 22:59:49)

Mozilla/5.0 (X11; FreeBSD amd64; rv:19.0) Gecko/20100101 Firefox/19.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Мануал по написанию демонов. от Vasily 2013-04-10 22:59:49
avatar
Скрыть

Re:Мануал по написанию демонов.

Вася, хорошо насиловать некротреды. Дориф уже всё давно понял и раскаилсо)))

Ax-Xa-Xa(*)(2013-04-11 00:51:40)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!