Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 10, 2016 12:06:23

alex2016
Зарегистрирован: 2016-12-10
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Бесконечный цикл совсем не бесконечный

Демон блин сам через пару секунд вырубается

alex2016@quake2:~ [0] $ python test.py
Daemon PID 10680

alex2016@quake2:~ [0] $ ps
PID TTY TIME CMD
2190 pts/33 00:00:00 bash
10680 pts/33 00:00:00 python
10887 pts/33 00:00:00 ps
alex2016@quake2:~ [0] $ ps
PID TTY TIME CMD
2190 pts/33 00:00:00 bash
11055 pts/33 00:00:00 ps
alex2016@quake2:~ [0] $

Офлайн

#2 Дек. 12, 2016 09:13:07

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Бесконечный цикл совсем не бесконечный

Запускайте вот так

 python test.py &



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Дек. 12, 2016 13:07:36

cutwater
От:
Зарегистрирован: 2009-01-08
Сообщения: 444
Репутация: +  19  -
Профиль   Отправить e-mail  

Бесконечный цикл совсем не бесконечный

ZerG
Запускайте вот так

Вы хотя бы понимаете что советуете?

alex2016
Демон блин сам через пару секунд вырубается

В принципе насколько я могу судить, код, который Вы запостили корректный. За исключением того, что желательно закрывать дескрипторы, унаследованные от родительского процесса. В особенности дескрипторы ввода-вывода (stdin, stdout, stderr) и переоткрывать в /dev/null или куда-нибудь еще.

alex2016
Демон блин сам через пару секунд вырубается
Эм… ps без параметров отображает только список процессов ассоциированных с текущим терминалом. Читаем маны.

By default, ps selects all processes with the same effective user ID (euid=EUID) as the current user and associated with the same terminal as the invoker.

Так как Ваш процесс отвязался от терминала и переехал под init, то естественно в этом списке его не будет.

Попробуйте запустить и увидите Ваш демон.
ps ax |grep python

Кстати double fork magic не обязателен, если родительский процесс завершается сразу после запуска дочернего процесса.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version