Tôi có một red5 server (JAVA) đang chạy trên máy chủ Linux của mình.Linux: Làm thế nào để tiêu diệt các chương trình sử dụng cổng 1935?
Đôi khi, máy chủ tắt. Khi tôi cố gắng khởi động lại, tôi gặp lỗi:
"Lỗi liên kết, cổng này được sử dụng nhiều hơn".
Vì vậy, tôi cố gắng giết máy chủ bằng killall -9 java và thử khởi động lại máy chủ: cùng một lỗi.
Tôi phải chờ một lúc (khoảng 2-3 phút) và khởi động lại lần nữa: hoạt động.
Tôi chỉ cần biết lý do tại sao khi tôi giết quá trình tôi vẫn phải đợi 2-3 phút trước khi cổng 1935 miễn phí và tôi có thể chạy lại máy chủ.
Có cách nào để hủy quy trình này ngay lập tức và giải phóng cổng không?
tôi không tin rằng các câu trả lời đổ lỗi cho SIGKILL cho việc dọn dẹp cổng không thành công. Hệ điều hành hoàn toàn biết rằng quá trình này đã biến mất và từ bỏ nguồn lực của nó theo cách tiêu chuẩn. Cách tiêu chuẩn cho cổng nghe TCP chỉ đóng không sẵn sàng trong một thời gian để loại trừ kết nối với máy chủ sai. Điều này có thể tránh được dễ dàng nhất bằng cách sử dụng SO_REUSEADDR như đã đề cập trong câu trả lời của Justin. –