Создать демона на python 2.7 ?

Есть скрипт которий визивает norify os по while True:
Так вот как созадать демона которий запускается при старте ос . И работатет в фоновом режиме без терминала и прочего. Тоесть только показивет собщение ?
  • Вопрос задан
  • 10952 просмотра
Решения вопроса 1
@bromzh
Drugs-driven development
Всегда использую supervisord. Просто отличная штука, ещё и на питоне написанная. Гибкие конфиги, перезапуск при падении. и другие плюшки.

UPD
Как использовать:
1) Ставишь его общесистемно sudo apt-get install supervisor (можно и через пип поставить, но настраивать надо побольше будет).
2) Надо настроить сам супервизор: откуда он будет брать конфиги, какие права нужны и т.д. Если у тебя убунта, то настройки самого супервизора будут в порядке. Они хранятся в /etc/supervisor/supervisord.conf. В этом файле прописано, что настройки для демонов будут читаться из папки /etc/supervisor/conf.d
Если у тебя не убунта, или ты ставил супервизор через пип, то вот стандартный конфиг. Настройки там очевидные
3) Когда супервизор поставлен и настроен, запускай его:
sudo service supervisor start
или
sudo supervisord

4) Теперь надо сделать конфиг для запуска твоего скрипта. Создаёшь файл в папке с конфигами такого содержания:
[program:ОТОБРАЖАЕМОЕ_ИМЯ]
command = КОМАНДА_ДЛЯ_ЗАПУСКА (например python ИМЯ_СКРИПТА)
autorestart = true # автостарт при запуске супервизора
stderr_logfile = /var/log/ИМЯ_ЛОГФАЙЛА.err.log # тут перенаправляем stderr в файл
stdout_logfile = /dev/null # тут глушим весь вывод со stdout


Всё! Управлять твоими демонами можно через команду supervisorctl. Сперва надо перепрочитать конфиг, потом стартануть приложение:
supervisorctl reread
supervisorctl ОТОБРАЖАЕМОЕ_ИМЯ start

Можно опустить ОТОБРАЖАЕМОЕ_ИМЯ, тогда команда будет применена ко всем.
Также ты можешь запустить CLI, если введёшь supervisorctl без параметров. Там по табу смотри команды.
Читай этот раздел, для понимания конфигов запускаемых приложений.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
icCE
@icCE
youtube.com/channel/UC66N_jRyZiotlmV95QPBZfA
>И работатет в фоновом режиме без терминала и прочего. Тоесть только показивет собщение ?
Извените, а куда он будет вам показывать сообщение ? Только если в лог писать.
Или вы в X выводите инфомацию ?

В любом случаи вот вам как писать демонов
stackoverflow.com/questions/473620/how-do-you-crea...
habrahabr.ru/post/176067

Для запуска при старте системы надо написать скрипт для старта вашей программы. В теории можно и на bash забацать демона. Если вам интересен этот вариант, я дам пример скрипта.
Ответ написан
Snowdimon
@Snowdimon
Linux user
Скрипт на чем написан?
Если на баше, то добавьте в конце & и кидайте в автозагрузку. Скрипт будет запущен в фоне как демон.
Ответ написан
karabanov
@karabanov Куратор тега Linux
Системный администратор
Например как-то так https://github.com/serverdensity/python-daemon/blo...
Ответ написан
Комментировать
zelsky
@zelsky Автор вопроса
Вот тебе пример на моем демоне оповещений сообщений из вк.
Ответ написан
Комментировать
На мой взгляд, идеальная реализация:

web.archive.org/web/20131017130434/http://www.jeji...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы