CentOS 5.9 | программа, слушающая на порте, то, чтобы заставлять это не связать

Я нашел случаи /usr/lib/firefox/defaults/profile/mimeTypes.rdf в сети, но я не уверен, что она будет использоваться последними версиями Firefox. Могло бы стоить попытки!

0
26.01.2013, 00:09
2 ответа

Я думаю, что можно сталкиваться 2*MSL проблема. Вот то, как Вы говорите:

$ netstat -na | grep 28960.*TIME_WAIT

Если Вы возвращаете что-нибудь, от которого, это означает, что сетевой стек ядра ожидает в течение дважды максимального времени жизни сегмента (MSL) случайных пакетов для возвращения для создания появления прежде, чем позволить тому порту быть восстановлением. TIME_WAIT состояние является хорошей вещью.

Серверы, которые предназначаются, чтобы быть перезапущенными в нормальном функционировании, отключают TIME_WAIT обработка путем установки SO_REUSEADDR опция сокета. При изучении документов для игрового сервера может случиться так, что существует опция, которая позволяет Вам включить это поведение.

В противном случае и Вы не можете заставить источник изменять игровой сервер, Ваша единственная опция состоит в том, чтобы ожидать TIME_WAIT состояния для истечения, который обычно берет между 30 и 120 секундами.

Вот сценарий, который я называю showwait который полезен с этим видом вещи:

#!/bin/sh
while [ true ]
do
    netstat -na | grep WAIT
    sleep 1
done

Вы просто выполняете его и ожидаете его, чтобы прекратить производить строки каждую секунду. Затем Вы Ctrl-C это и движение с тем, что необходимо было сделать, который потребовал, чтобы не было никаких состояний ожидания.

Этот сценарий не подходит для использования на занятом сервере, где существуют состояния ожидания, продолжающиеся все время, но когда Вы просто ожидаете сервера ни с чем иным продолжающим достигнуть неподвижности, это прекрасно.

2
28.01.2020, 02:38
  • 1
    Право. Но это не должно занимать слишком много времени для разрешения. –  vonbrand 26.01.2013, 04:20
  • 2
    @vonbrand: Поскольку я сказал, обычно 30-120 секунд. Я ничего не вижу от нашего анонимного OP, который говорит нам, что он на самом деле ожидал настолько долго. В одном из комментариев к Вашему сообщению он сказал, что это "никогда" не разрешает, но это является очевидно поддельным. –  Warren Young 26.01.2013, 04:26

Вы могли попробовать lsof(8) (проверьте страницу руководства, это довольно обширно; но просто передав его вывод по каналу к grep 28960 должен дать некоторое представление тому, что продолжается). В любом случае порт 28960 является неприсвоенным IANA. таким образом, ничто не должно использовать его.

0
28.01.2020, 02:38
  • 1
    Да, 28960 порт по умолчанию, используемый для Call of Duty 4, игровой сервер, который я пытался запустить, но когда я сначала запустил его, он связал с 28 960, затем на перезапуске, он никогда не прекращал связываться, заставляя программное обеспечение уже думать его связанный. корень –  user31186 26.01.2013, 00:33
  • 2
    cod4_lnxd 6610 24u IPv4 827763 0t0 UDP *:28960, Найденный им =] Теперь, как я узнал бы, как закрыть его если не разоблачение на моих задачах? –  user31186 26.01.2013, 00:39
  • 3
    @user31186, когда процесс выходит из него, выпускает порты, которые он использует. Таким образом, не может быть никакой "оставшейся привязки". Очень странный. –  vonbrand 26.01.2013, 00:45
  • 4
    @user31186, kill 6610 избавился бы от того процесса, который содержит тот порт. kill -s KILL 6610 если это не хочет идти. –  Stéphane Chazelas 26.01.2013, 00:46
  • 5
    @user31186, та строка, которая соответствия, но не для порта, который Вы проверяете. Если это - единственное соответствие, порт свободен. Делает nmap(8) видеть что-то там? –  vonbrand 26.01.2013, 00:46

Теги

Похожие вопросы