Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 4, 2010 22:47:31

Kixiro
От:
Зарегистрирован: 2009-09-06
Сообщения: 27
Репутация: +  1  -
Профиль   Отправить e-mail  

кто-нибудь писал демоны на python под linux?

поделитесь опытом создания демонов на python, а то что-то не выходит…. особенно интересует управление демоном с помощью сигналов, например перезагрузка конфигов демоном



Офлайн

#2 Окт. 5, 2010 01:18:49

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

кто-нибудь писал демоны на python под linux?

Этот форум посвящен программированию, а не гаданию.
Не желаете сначала показать, что у вас уже есть и что не работает?
Насколько помню, никаких особых проблем с демонами не было.



Офлайн

#3 Окт. 5, 2010 09:10:00

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

кто-нибудь писал демоны на python под linux?

Регулярно пишу демоны под различные нужды. В питоне есть даже пакет под такое дело - http://pypi.python.org/pypi/python-daemon/ который реализует часто используемые фичи типа закрытие ненужных дескрипторов при переходе в режим демона, double-forking и прочее. С сигналами тоже вроде проблем не имел, стандартный модуль в помощь - http://docs.python.org/library/signal.html#signal.signal

Конкретно по перезагрузке проверьте:
1. У Вас нормально настроен логгинг и там нет каких-либо ошибок, например в обработчике сигналов;
2. У Вас сохраняется правильный PID (то есть взятый **после** double-forking) в известный файл;
3. Сигнал отсылается именно на тот PID, который указан в файле.

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

Так что опишите подробнее что не получается.

UPD: сам учился писать демоны по кодам Paste-Script - посмотрите, может Вам поможет.



Отредактировано (Окт. 5, 2010 09:24:16)

Офлайн

#4 Дек. 17, 2010 11:32:17

nulltime
От:
Зарегистрирован: 2010-12-17
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

кто-нибудь писал демоны на python под linux?

А можно поподробнее про взаимодействие с демоном?
Задача такая - есть система теневого копирования. По событию закрытия файла на запись создается снапшот. Порождается тред, которому передается номер снапшота, файл, и пр. параметры, он и делает копирование, потом уничтожает снапшот. В основном процессе идет мониторинг/статистика. Я хочу сделать в итоге консольную утилиту, которая может запускать/останавливать демона, менять ему настройки, показывать статистику и состояние тредов в реальном времени. Мучающий меня вопрос - как взаимодействовать с уже запущенным демоном? Как я понимаю, варианты - /proc демона, Unix сокеты, сеть, пайпы. Из всего этого мне симпатизирует /proc, но я совершенно ничего не нашел про работу с proc своего процесса, другими словами, я не знаю как написать proc кусок в демоне. Может что-нить посоветуете?



Офлайн

#5 Дек. 17, 2010 12:15:08

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

кто-нибудь писал демоны на python под linux?

И не найдете. /proc создается ядром, демонам и прочим процессам туда ходу нет.
Пайпы тоже не в тему - вам именованые объекты нужны.
Так что не морочте голову, сокеты - ваше всё.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version