такая ситуация:
в главном потоке создается словарь
from multiprocessing import Manager, Process
man = Manager()
self.sqlite_storage = man.dict()
потом создается Process(), который при работе обращается к словарю
в выводе ps aux | grep python видим 3 процесса питона - один из них принадлежит этому Manager()
Если скрипт нормально завершит работу - то все процессы завершатся.
А если убить главный скрипт (он работает как cgi через апач) - то второй процесс завершается (он чекает спец. файл, куда кладется метка о необходимости завершения), а третий процесс от Manager() - остается висеть.
sudo strace -p 6644 -o test
cat test:
accept(8, <unfinished ...>
Как бы его грамотно убить при завершении скрипта?
пробовал делать del для объекта Manager(), но из порожденного процесса, т.к. в основном не знаю как перехватить нажатие Escape в браузере. Не помогло
Ответ на:
комментарий
от true_admin
Ответ на:
комментарий
от sergey-novikov
Ответ на:
комментарий
от true_admin
Ответ на:
комментарий
от sergey-novikov
Ответ на:
комментарий
от sergey-novikov
Ответ на:
комментарий
от true_admin
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [python] multiprocessing, обмен данными между процессами (2012)
- Форум [Python][multiprocessing]Singleton для нескольких процессов (2011)
- Форум [Python] Прожорливый multiprocessing. (2011)
- Форум Не завершаются некоторые процессы (2013)
- Форум фоновый процесс завершается «Stopped» (2007)
- Форум python — как правильно использовать multiprocessing? (2017)
- Форум SQL внутри python multiprocessing. КАК? (2017)
- Форум Правильный multiprocessing pool на python (2017)
- Форум Как в KDE завершать процессы. (2008)
- Форум emacs multiprocessing (2012)