Форум сайта python.su
Столкнулся с такой проблемой.
python3-скрипт запускается апачем как cgi и с помощью subprocess запускает фоновый процесс - другой питон-скрипт.
Но если закрыть страницу с первым скриптом, то умирает и второй.
Пробовал делать демона с помощью двух fork(), запускать через ‘at now’ - ничего не помогает.
Если запустить скрипт из консоли, то он запустит фоновый процесс, а сам завершит работу и никаких проблем. Но если запускать через cgi - то все фоновые умирают после закрытия страницы.
Как же из веба запустить демона чтобы не умирал?
вот что у меня сейчас есть: http://pastebin.com/eUqu1pPC
Отредактировано Игнат (Март 18, 2013 13:26:16)
Офлайн
счаз проверить нету возможности, поэтому на вскидку:
вызов subprocess c аргументом close_fds=True
Если аргументу close_fds присвоено значение True, то все дескрипторы, исключая 0, 1 и 2 будут закрыты перед выполнением дочернего процесса (только для UNIX).
Данная опция полезна если в вызывающей программе присутствуют, например, открытые сокеты, а запустив процесс мы передадим ему дескрипторы родителя тем самым сделав этот сокет занятым обоими процессами и закрыть сокет можно будет только после того как завершит работу дочерний процесс
Отредактировано JOHN_16 (Март 19, 2013 02:13:47)
Офлайн