«Как правило, должен быть запущен как демон?»
Не имеет - на поверхности - имеет большой смысл. «Вообще» неразумно. Это либо демона, либо нет. Возможно, вы захотите обновить свой вопрос.
Для примеров демонов читайте демонов, таких как httpd Apache или любого сервера базы данных (они являются демонами) или SMTPD-почтового демона.
Или, может быть, прочитайте что-нибудь более простое, например, демон FTP, демон SSH, демон Telnet.
В мире Linux у вас будет каталог установки вашего приложения, какой-либо рабочий каталог, а также каталоги файлов конфигурации.
Мы используем /opt/ourapp
для приложения (это Python, но не устанавливать в Питоне lib/site-packages
)
/var/ourapp
Мы используем для рабочих файлов и наших конфигурационных файлов.
Для конфигурационных файлов мы могли бы использовать /etc/ourapp
- это было бы согласовано, но мы этого не делаем.
У нас пока нет сценариев init.d
для запуска. Но это последний кусок, автоматический запуск. На данный момент у нас есть системные администраторы, которые запускают демонов.
Основано это частично на http://www.pathname.com/fhs/ и http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/Linux-Filesystem-Hierarchy.html.
См. Также этот вопрос: http://stackoverflow.com/questions/473620/how-do-you-create-a-daemon-in-python – Rabarberski