Tóm tắt nội dung chính
Lỗi “Port Already In Use” là gì?
Đây là thông báo cho biết một cổng mạng mà bạn muốn sử dụng đã được một chương trình khác đăng ký. Khi đó, ứng dụng của bạn sẽ không thể chạy trên cổng này do xung đột kết nối.
.png)
Nguyên nhân thường gặp
Một số nguyên nhân phổ biến dẫn đến lỗi “Port Already In Use” gồm:
Cách xử lý lỗi “Port Already In Use” trên Linux
Để khắc phục, việc đầu tiên là xác định tiến trình đang chiếm giữ cổng. Dưới đây là ba công cụ dòng lệnh mạnh mẽ giúp bạn thực hiện việc này.
1. Dùng lệnh lsof
lsof (viết tắt của list open files) là công cụ phổ biến để kiểm tra các file hoặc socket đang mở.
Cú pháp:
Thay <PORT_NUMBER> bằng số cổng bạn cần kiểm tra.
Ví dụ:
Kết quả trả về sẽ bao gồm:
Để dừng tiến trình chiếm cổng 8080:
2. Dùng lệnh netstat
netstat giúp bạn xem thông tin về kết nối mạng, bảng định tuyến và tiến trình đang lắng nghe cổng.
Cú pháp:
Trong đó:
Ví dụ:
Để kết thúc tiến trình có PID 987:
3. Dùng lệnh fuser
fuser là cách nhanh nhất để xác định tiến trình đang sử dụng một port cụ thể.
Cú pháp:
Hoặc với UDP:
Ví dụ:
Kết quả trả về là PID, ví dụ: 54321.
Dừng tiến trình đang dùng port 3000:
Cách xử lý lỗi “Port Already In Use” trên Windows
1. Dùng Task Manager
-
Chuột phải vào thanh Taskbar → chọn Task Manager.
-
Chuyển sang tab Performance, mở Resource Monitor, sau đó chọn tab Network.
-
Kiểm tra danh sách port đang mở và PID của tiến trình chiếm cổng.
-
Sang tab Details, tìm PID tương ứng → Chuột phải → chọn End Task để dừng tiến trình.
2. Dùng Command Prompt
Bạn có thể xác định và kết thúc tiến trình bằng dòng lệnh tương tự Linux.
Bước 1: Kiểm tra port
Bước 2: Dừng tiến trình theo PID
Thay <process_id> bằng PID thực tế để giải phóng cổng.
Tổng kết:
Lỗi “Port Already In Use” không khó xử lý nếu bạn biết cách xác định tiến trình chiếm cổng và dừng nó đúng cách. Việc nắm vững các công cụ như lsof, netstat, fuser (trên Linux) và netstat, taskkill (trên Windows) sẽ giúp bạn xử lý nhanh mọi xung đột port chỉ trong vài giây.