Как я могу изящно обрабатывать неизвестные подтипы в protobuf-net?

Есть множество проблем, которые нужно заботиться, когда вы становитесь хорошим процессом демона :

  • предотвращают дампы ядра (многие демоны выполняются как root, а core дампы могут содержать конфиденциальную информацию).
  • корректно ведут себя внутри chroot gaol
  • . UID, GID, рабочий каталог, umask и другие параметры процесса соответственно для использования
  • relinquish повышенные привилегии suid, sgid
  • закрыть все дескрипторы открытых файлов, причем исключения в зависимости от варианта использования
  • ведут себя правильно, если они начинаются внутри уже снятого контекст, такой как init, inetd и т. д.
  • настроить обработчики сигналов для разумного поведения демона, а также с определенными обработчиками, определенными в прецеденте
  • , перенаправить стандарт потоки stdin, stdout, stderr, поскольку процесс демона больше не имеет управляющего терминала
  • обрабатывает ПИД-файл как кооперативную консультативную блокировку, которая представляет собой целую банку червей в само со многими противоречивыми, но действительными способами t o behave
  • позволяют надлежащую очистку, когда процесс завершается
  • , фактически становятся процессом демона, не приводя к зомби

Некоторые из них являются стандартными, как описано в канонической литературе Unix ( Advanced Programming in UNIX Environment , покойным У. Ричардом Стивенсом, Addison-Wesley, 1992). Другие, такие как перенаправление потока и PID-обработка файлов , являются обычным поведением, которое ожидали бы большинство демонов, но это менее стандартизировано.

Все они покрываются PEP 3143 «Стандартная библиотека процессов демона». Реализация ссылок python-daemon работает на Python 2.7 или новее, а Python 3.2 или более поздней.

0
задан Collin Dauphinee 1 March 2019 в 23:50
поделиться