2011-10-09 23 views
22

Tôi đang cố gắng tìm hiểu python (sử dụng khung công tác Flask) và tôi bị nhầm lẫn vì một nơi nào đó trong mã của tôi đang giữ máy chủ mở. tin.Cần phải đóng ổ cắm python/Tìm máy chủ đang chạy trên môi trường dev của tôi

Tôi quay lên máy chủ của mình bằng 'python app.py' rồi đóng nó tuy nhiên .... nó vẫn tồn tại!

Tôi không chắc chắn điều này là có thể nhưng tôi phải làm điều gì đó sai với kết nối.

Có hai câu hỏi ở đây thực sự.

Đầu tiên: Làm thế nào tôi có thể tìm thấy các kết nối hoạt động/ổ cắm và đóng nó

Thứ hai: Có cách nào tôi có thể chẩn đoán những gì đang có một kết nối mở, linh cảm của tôi là SqlLite không đóng cửa như đó là điều cuối cùng tôi thực hiện.

Đây là một ứng dụng tệp (trừ tệp cấu hình và nội dung tĩnh) để tôi có thể đăng mã nếu được yêu cầu.

Lỗi tạo (thư mục địa điểm thay đổi):

/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 
+1

How are you "đóng cửa" các máy chủ? – Mark

Trả lời

80

Nếu bạn sử dụng Linux, bạn có thể sử dụng lsof để tìm ra các quá trình đang sử dụng một cổng nhất định, bạn có thể phải cài đặt nó đầu tiên, mặc dù sử dụng khá đơn giản:

lsof -i :5000 
+1

lsof -i: 5000 để giành chiến thắng! Sau đó, chỉ cần giết PID vi phạm. Có lẽ có một cách thanh lịch hơn, nhưng điều này khiến chúng tôi ở cửa. Cảm ơn! – smitty1e

+0

đó là trợ giúp lớn nhờ rất nhiều –

+0

Làm việc cho tôi! – nerdburn

8

Có thể bạn đang đóng máy chủ bằng cách sử dụng Ctrl-Z. Nếu vậy, hãy sử dụng Ctrl-C để thay thế.

10

Để giết chết quá trình python đó đang lắng nghe trên cổng 5000:

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

+1

Không hoạt động trên Arch Linux. (sử dụng '-f2' thay vì' -f3') – z3ntu

Các vấn đề liên quan