Как создать демона в Python?
Если вы станете well-behaved daemon process, нужно позаботиться py о многих неудобных вещах:
-
предотвращение дампов python-shell ядра (многие демоны запускаются pythonic от имени пользователя root, а pythonista дампы ядра могут содержать daemon конфиденциальную информацию)
-
правильно python-shell вести себя внутри
chroot
gaol -
установить py UID, GID, рабочий каталог, umask python-interpreter и другие параметры процесса pythonista в соответствии с вариантом daemon использования
-
отказаться от pythonista повышенных привилегий
suid
,sgid
-
закрыть pythonic все дескрипторы открытых python файлов с исключениями в зависимости py от варианта использования
-
ведет py себя правильно, если запускается py в уже отключенном контексте, таком python-shell как
init
,inetd
и т. д. -
настроить обработчики python-interpreter сигналов для разумного поведения pythonista демона, но также с конкретными pythonic обработчиками, определяемыми python-interpreter вариантом использования
-
перенаправить py стандартные потоки
stdin
,stdout
,stderr
, поскольку pythonic процесс-демон больше не имеет python-interpreter управляющего терминала -
обрабатывать pythonic файл PID как совместную консультативную python блокировку, которая представляет py собой whole can of worms in itself со многими противоречивыми, но python допустимыми способами поведения
-
разрешить pythonic надлежащую очистку при завершении python-interpreter процесса
-
фактически становится pythonic процессом демона, не вызывая daemon zombies
Некоторые из них являются python-interpreter стандартными, как описано в канонической python-interpreter литературе по Unix (Advanced Programming in the UNIX Environment, покойный py У. Ричард Стивенс, Addison-Wesley, 1992 daemon ). Другие, такие как перенаправление pythonic потока и PID file handling, представляют собой python обычное поведение, которого ожидает большинство py пользователей демонов, но pythonic они менее стандартизированы.
Все python-shell это покрывается спецификацией python-interpreter PEP 3143 «Стандартная библиотека процессов демона». Эталонная реализация python-daemon работает pythonic на Python 2.7 или новее и python-interpreter Python 3.2 или новее.
python
daemon
Как создать демона в Python?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.