В какой-то момент мне нужно было демонизировать некоторые действия Python. В Интернете была куча примеров подобной деятельности разной степени концентрации.
Так как в дальнейшем планировалось использовать код демонизации в дальнейшей деятельности, я решил разделить настройки и сам демон на разные части.
В результате получилось три файла:
- Родительские классы - с небольшой модификацией классы взяты из интернет-статей.
- Классы конфигурации — реакция на сигналы, реакция на команды и набор статических настроек для запуска.
- Скрипт запуска — собирает первые два в сам демон
сразу скажу, что все включено Гитхаб .
Потому что если вы легко читаете Python, то чтение моего весьма неумелого текста может оказаться гораздо сложнее.
Собственно, в первом файле описывать толком нечего: Это почти неизмененные три класса, взятые из Эта статья .
Единственные там изменения заключаются в том, что к самому демону привязали класс-обработчик сигналов, а добавление сигналов в список обрабатываемых прикрутили к самой процедуре демонизации.
Вторая часть будет немного интереснее.
Там три класса: 1) SigFunctionsCon — содержит реакции на сигналы.
При инициализации он получает экземпляр демона, чтобы иметь возможность доступа к его методам.
Каждый метод должен соответствовать сигналу, который он обрабатывает, по имени.
Например вот так:
def SIGTERM(self):
Теги: #python #daemon #linux #python
-
Гиктаймс 1 Год
19 Dec, 24 -
Установка Windows 7 За 10 Минут.
19 Dec, 24 -
Ежемесячный Выпуск Aso № 18, Октябрь 2017 Г.
19 Dec, 24 -
Ответ Asus Eee Top От Msi
19 Dec, 24