来自Virtualenv的Django多个进程正在运行

时间:2014-01-27 10:36:04

标签: python django bash process virtualenv

我正在运行一个本地 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

这应该是正常的吗?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题:Django试图发送电子邮件,但由于配置不当而无法发送电子邮件,所以它一直挂在那里试图发送这些电子邮件。

最有可能(我不确定)Django会调用OS函数或子进程来执行此操作。关键是主要进程是自行分配并将作业提供给子进程或线程,或者其他什么,我不是这方面的专家。

事实证明,当你的蟒蛇分叉而你杀了父亲时,孩子们显然可以继续生活。

如果我错了,请纠正我。