У меня есть red5 server (JAVA), работающий на моем Linux-сервере.Linux: Как убивать программы, использующие порт 1935?
Иногда сервер выключается. Когда я пытаюсь перезапустить его, я получил ошибку:
«Ошибка привязки, этот порт используется в алертаде».
Так что я стараюсь убить сервер с killall -9 Java и попытаться перезапустить сервер: ту же ошибку.
Мне нужно подождать некоторое время (около 2-3 минут) и перезапустить его снова: это работает.
Мне просто нужно знать, почему, когда я убиваю процесс, мне все равно придется ждать 2-3 минуты, прежде чем порт 1935 свободен, и я снова могу запустить сервер.
Есть ли способ немедленно убить этот процесс и освободить порт?
я не делаю верьте ответам, которые обвиняют SIGKILL в неудачной очистке порта. ОС прекрасно знает, что процесс ушел, и он отказывается от своих ресурсов стандартным образом. Стандартный способ для только что закрытого порта прослушивания TCP не должен быть доступен в течение некоторого времени, чтобы исключить подключения к неправильному серверу. Этого можно легко избежать, используя SO_REUSEADDR, как указано в ответе Джастина. –