Třeba zavřít python zásuvka / Najít aktuální běžící server na mém dev prostředí

hlasů
22

Snažím se učit Python (pomocí Baňka mikro-rámec) a já jsem zmatená, protože někde v mém kódu nechám otevřené server věřím.

I roztočení můj server s ‚python app.py‘ a zavřete jej však .... to ještě žije!

Nejsem si jistý, jak je to možné, ale já musel udělat něco s připojením špatného.

Tam jsou dvě otázky, tady ne.

Za prvé: Jak mohu najít aktivní připojení / zásuvku a uzavřete

Za druhé: Existuje nějaký způsob, jak mohu diagnostikovat, co má otevřené spojení, má tušení, že sqlLite nezavírá, protože je to poslední věc, kterou jsem implementoval.

Jedná se o (minus konfigurační soubor a statický obsah) jeden soubor aplikace, takže mohu v případě potřeby přidat kód.

Generována chyba (umístění složky změnit):

/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
Položena 09/10/2011 v 14:23
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
80

Používáte-li Linux, můžete použít lsof zjistit, který proces je použití daného portu, budete muset instalovat nejprve když použití je velmi jednoduchý:

lsof -i :5000
Odpovězeno 09/10/2011 v 23:07
zdroj uživatelem

hlasů
8

Jste pravděpodobně zavírání serveru pomocí Ctrl-Z. Pokud ano, použijte Ctrl-C namísto.

Odpovězeno 04/03/2014 v 09:19
zdroj uživatelem

hlasů
10

Zabít proces python, který naslouchá na portu 5000:

sudo lsof -i :5000 | grep "python" | cut -d " " -f3 | xargs kill -9

Odpovězeno 15/08/2015 v 09:01
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more