需要关闭python套接字/在我的开发环境中找到当前正在运行的服务器
我正在尝试学习python(使用Flask微框架),并且感到困惑,因为我相信在代码中的某个地方我会保持服务器开放。
我用“ python app.py”启动服务器,然后关闭它,但是它仍然存在!
我不知道这怎么可能,但我在连接方面一定做错了。
确实有两个问题。
第一:如何找到活动的连接/套接字并关闭它
第二:有什么方法可以诊断什么是打开的连接,我的直觉是sqlLite没有关闭,因为这是我实现的最后一件事。
这是一个文件应用程序(减去配置文件和静态内容),因此如果需要,我可以发布代码。
生成错误(文件夹位置已更改):
/Development/flask_projects/test_email/env/bin/python /Development/flask_projects/test_email/app.py * Running on http://127.0.0.1:5000/
Traceback (most recent call last):
File "Development/flask_projects/test_email/app.py", line 58, in <module>
app.run()
File "Development/flask_projects/wtchn_email/env/lib/python2.7/site-packages/Flask-0.8-py2.7.egg/flask/app.py", line 703, in run
run_simple(host, port, self, **options)
File "/Library/Python/2.7/site-packages/Werkzeug-0.7.1-py2.7.egg/werkzeug/serving.py", line 612, in run_simple
test_socket.bind((hostname, port))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 48] Address already in use
回答:
如果你使用linux,则可以使用lsof来找出哪个进程正在使用给定的端口,尽管如此,你可能必须首先安装它,用法非常简单:
lsof -i :5000
以上是 需要关闭python套接字/在我的开发环境中找到当前正在运行的服务器 的全部内容, 来源链接: utcz.com/qa/413068.html