Trzeba zamknąć Gniazdo Pythona / znaleźć działający serwer w moim środowisku programistycznym
Próbuję nauczyć się Pythona (używając mikro-frameworka Flask) i jestem zdezorientowany, ponieważ gdzieś w kodzie trzymam otwarty serwer, jak sądzę.
Podkręcam serwer z 'Pythonem app.py' a następnie zamknąć go jednak.... to wciąż żyje!
Nie jestem pewien, jak to możliwe, ale musiałem zrobić coś złego z połączeniem. Są dwa pytania.Po pierwsze: Jak mogę znaleźć aktywne połączenie/gniazdo i zamknąć it
Po drugie: czy jest jakiś sposób mogę zdiagnozować, co jest o otwartym połączeniu, moje przeczucie jest to, że sqlLite nie zamyka się, jak to jest ostatnia rzecz, którą zaimplementowałem.
Jest to aplikacja jednego pliku (minus plik konfiguracyjny i zawartość statyczna), więc mogę wysłać kod w razie potrzeby.
Wygenerowany błąd (zmiana lokalizacji folderów):
/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
3 answers
Jeśli używasz Linuksa możesz użyć lsof aby dowiedzieć się, który proces używa danego portu, być może będziesz musiał go najpierw zainstalować, użycie jest dość proste:
lsof -i :5000
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-09 22:07:44
Aby zabić proces Pythona, który nasłuchuje na porcie 5000 :
sudo lsof -i :5000 | grep "python" | cut -d " " -f3 | xargs kill -9
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-15 09:01:55
Prawdopodobnie zamykasz serwer używając Ctrl - Z. Jeśli Tak, użyj zamiast tego Ctrl-C.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-04 08:19:44