我正在运行一个本地的django开发服务器,它与virtualenv一起运行,这几天它的行为很奇怪。有时我在控制台中看不到任何日志有时我看到它们。在
有几次我试图退出进程并重新启动它,但出现了port already taken
错误,因此我检查了正在运行的进程,仍然有一个django实例在运行。
其他的回答说这是由于autoreload的特性,那么为什么有时我没有问题,有时却有问题呢?在
无论如何,出于好奇,我ps aux| grep python
,结果总是两个正在运行的进程,一个来自python,另一个来自我激活的“virtualenv”python:
/Users/me/.virtualenvs/myvirtualenv/bin/python manage.py runserver
python manage.py runserver
这应该是正常的吗?在
我已经解决了这个谜团:Django试图发送电子邮件,但由于配置不当而无法发送,所以它一直挂在那里试图发送这些电子邮件。在
很有可能(我不确定)Django调用一个OS函数或一个子进程来完成这个任务。关键是主进程将自己分叉,并将任务分配给子进程或线程,或者其他任何东西,我对此不是专家。在
事实证明,当你的Python被叉了,你杀了它的父亲,孩子们显然可以继续活下去。在
如果我错了,请纠正我。在
相关问题 更多 >
编程相关推荐