python(Flaskマイクロフレームワークを使用)を学習しようとしていますが、コードのどこかでサーバーを開いたままにしているので混乱しています信じる。
私は 'python app.py'でサーバーを起動して閉じますが、それでもまだ生きています!
これがどのようにして可能かはわかりませんが、接続に問題があります。
ここには2つの質問があります。
最初:アクティブな接続/ソケットを見つけて閉じる方法
2番目:開いている接続を診断する方法はありますか?私の直感は、sqlLiteが最後に実装されているため、閉じていないことです
これは1つのファイルアプリケーション(構成ファイルと静的コンテンツを除く)なので、必要に応じてコードを投稿できます。
エラーが発生しました(フォルダーの場所が変更されました):
/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
ポート5000でリッスンしているpythonプロセスを強制終了するには:
Sudo lsof -i :5000 | grep "python" | cut -d " " -f3 | xargs kill -9
Ctrl-Zを使用してサーバーを閉じている可能性があります。その場合は、代わりにCtrl-Cを使用してください。