Tôi đang phát triển một ứng dụng nghe trên cổng 3000. Rõ ràng có một trường hợp ứng dụng vẫn nghe cổng vì bất cứ khi nào tôi khởi động nó, nó không thể tạo ra một trình nghe (C #, TcpListener, nhưng điều đó không liên quan) vì cổng đã có sẵn Lấy.
Bây giờ, ứng dụng không tồn tại trong Trình quản lý tác vụ, vì vậy tôi đã cố gắng tìm ra PID của nó và giết nó, dẫn đến kết quả thú vị này:
C:\Users\username>netstat -o -n -a | findstr 0.0:3000
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 3116
C:\Users\username>taskkill /F /PID 3116
ERROR: The process "3116" not found.
Tôi chưa từng thấy hành vi này trước đây và cho rằng nó đủ thú vị để xem có ai có giải pháp hay không.
CẬP NHẬT: Tôi đã khởi động Process Explorer và thực hiện tìm kiếm 3000 và tìm thấy điều này:
<Non-existent Process>(3000): 5552
Tôi nhấp chuột phải vào nó và chọn "Đóng Xử lý". Nó không còn trong Process Explorer, nhưng vẫn hiển thị trong netstat và vẫn ngăn ứng dụng khởi động trình nghe.
CẬP NHẬT 2: Đã tìm thấy TCPView cho Windows hiển thị quá trình dưới dạng "<non-existent>"
. Giống như với CurrPorts, không có gì xảy ra khi tôi cố gắng đóng kết nối trong công cụ này.