Я знаю, что вы думаете c / c ++, когда задаете этот вопрос, но я думаю, что он более общий, и логика, используемая при проектировании, не зависит от языка, используемого для реализации.
Существует предложение по улучшению Python ( PEP 3143 ), которое использовалось для описания стандартной библиотеки процессов демона, которая теперь стала частью языка. Если вы посмотрите в этот раздел о правильном поведении демона, он описывает, как демон должен действовать. Есть также соображения о различиях между «сервисом» и демоном.
Я думаю, что это должно хорошо ответить на ваши общие вопросы о демонах и их поведении. Проверьте W. Домашняя страница Ричарда Стивенса , и вы можете найти информацию о «Сетевом программировании Unix», Prentice Hall, в которой есть больше информации, специфичной для c / c ++, при кодировании демонов в среде * nix и передовой практике.