Форум сайта python.su
Имеем вот такой вот скрипт http://pastebin.com/p84VSV5X . Каждые 60 секунд скрипт заходит на сервер проверяет MAC адреса и сбрасывает их , такая работа должна продолжаться постоянно. Но проблема в том что после запуска скрипта и отправки его в бекграунд python daemon4.py& скрипт работает пока я не закрою окно pytty после этих действий все останавливается , пробовал писать демон такая же проблема , скрипт работает от часа до шести и завершает работу без видимых причин , если запустить программу у себя на компьютере то все работает работает без нареканий проверял целые сутки . Может кто чего подскажет ?
Отредактировано Jeck290 (Сен. 20, 2013 11:25:28)
Офлайн
запустите в скрине !
думаю, этот вариант Вам подойдет ! :)
screen
python daemon4.py
Cnrl-A
d
Офлайн
Да действительно , помогло , работает , но в чем причина была ?
Офлайн
2 раза fork сделайте и получите демон.
Офлайн
Jeck290Причина была в том что ваш скрипт стал “дочерним” процессом вашего “терминала”, после того как вы выходите с машины, процесс который обслуживал ваш терминал умирает, и все его дочернии процессы
Да действительно , помогло , работает , но в чем причина была ?
screen -AR
insserv SCRIPT_NAME
nohup python my_daemon.py &
Отредактировано Oik741 (Сен. 21, 2013 14:19:23)
Офлайн
А я вот пользуюсь таким способом отправки в бекграунд:
echo "you/script/path.py" | at now
Отредактировано agryn (Окт. 4, 2013 13:22:28)
Офлайн
как вариант http://supervisord.org/ или нет ?
Офлайн
Попробовал решения которые вы предлагали , возникла одна проблема , если конект к серверу пропадает а это уже False то цикл While просто перестает работать , как можно зациклить цикл ?
Офлайн
Jeck290правильный вопрос содержит половину ответа…а тут все 100%. намек ясен?
как можно зациклить цикл ?
Офлайн
Не совсем (( , может хоть намек ?
Офлайн