我正在运行一个本地 django开发服务器和 virtualenv ,并且它在几天之内表现得非常奇怪。有时我看到控制台中没有任何日志,有时我会看到它们。
有几次我试图退出进程并重新启动它并且我遇到port already taken
错误,所以我检查了正在运行的进程,并且仍然有一个django运行的实例。
其他SO答案说,这是由于 autoreload 功能,那么为什么有时我根本没有问题,有时候我会这样做?
无论如何为了好奇我ps aux| grep python
,结果总是两个正在运行的过程,一个来自python,另一个来自我激活的“virtualenv”python:
/Users/me/.virtualenvs/myvirtualenv/bin/python manage.py runserver
python manage.py runserver
这应该是正常的吗?
答案 0 :(得分:0)
我已经解决了这个问题:Django试图发送电子邮件,但由于配置不当而无法发送电子邮件,所以它一直挂在那里试图发送这些电子邮件。
最有可能(我不确定)Django会调用OS函数或子进程来执行此操作。关键是主要进程是自行分配并将作业提供给子进程或线程,或者其他什么,我不是这方面的专家。
事实证明,当你的蟒蛇分叉而你杀了父亲时,孩子们显然可以继续生活。
如果我错了,请纠正我。