Как: Закрыть TCP Соединения в Состоянии CLOSE_WAIT

Если Вы видите большое количество соединений в состоянии CLOSE_WAIT, вероятнее всего это проблема с самим приложением.

Его перезапуск временно очистит соединения, но необходимость в дальнейшем расследование очевидна, пока причина проблемы не будет найдена.

Если перезапуск приложения нежелателен, Вы можете вручную убить все соединения, которые находятся в состоянии CLOSE_WAIT.

Закрыть CLOSE_WAIT соединения по IP

Закрыть TCP соединения в состоянии CLOSE_WAIT, установленные с удаленным IP адресом 192.168.0.100:

$ netstat -anp |\
grep 192.168.0.100 |\
grep CLOSE_WAIT |\
awk '{print $7}' |\
cut -d \/ -f1 |\
grep -oE "[[:digit:]]{1,}" |\
xargs kill

Одной строкой:

$ netstat -anp | grep 192.168.0.100 | grep CLOSE_WAIT | awk '{print $7}' | cut -d \/ -f1 | grep -oE "[[:digit:]]{1,}" | xargs kill

Закрыть CLOSE_WAIT соединения на ПОРТУ

Закрыть TCP соединения в состоянии CLOSE_WAIT, на 80-ом порту:

$ netstat -anp |\
grep ':80 ' |\
grep CLOSE_WAIT |\
awk '{print $7}' |\
cut -d \/ -f1 |\
grep -oE "[[:digit:]]{1,}" |\
xargs kill

Одной строкой:

$ netstat -anp | grep ':80 ' | grep CLOSE_WAIT | awk '{print $7}' | cut -d \/ -f1 | grep -oE "[[:digit:]]{1,}" | xargs kill

Закрыть CLOSE_WAIT соединения по IP и ПОРТУ

Закрыть TCP соединения в состоянии CLOSE_WAIT, установленные с удаленным IP адресом 192.168.0.100, на 80-ом порту:

$ netstat -anp |\
grep 192.168.0.100 |\
grep ':80 ' |\
grep CLOSE_WAIT |\
awk '{print $7}' |\
cut -d \/ -f1 |\
grep -oE "[[:digit:]]{1,}" |\
xargs kill

Одной строкой:

$ netstat -anp | grep 192.168.0.100 | grep ':80 ' | grep CLOSE_WAIT | awk '{print $7}' | cut -d \/ -f1 | grep -oE "[[:digit:]]{1,}" | xargs kill

Как Это Работает?

$ netstat -anp |\  # выводим все сетевые подключения
grep 192.168.0.100 |\  # установленные с  IP 192.168.0.100
grep ':80 ' |\  # на 80-ом порту
grep CLOSE_WAIT |\  #  в состоянии CLOSE_WAIT
awk '{print $7}' |\  #  берем 7ой столбец
cut -d \/ -f1 |\  #  извлекаем PIDы
grep -oE "[[:digit:]]{1,}" |\  # извлекаем PIDы
xargs kill  #  прибиваем процессы по PIDам

One Reply to “Как: Закрыть TCP Соединения в Состоянии CLOSE_WAIT”

  1. I meet this problem, but My program is close, the close_wait state has existed, do you have some way to close this connections

Добавить комментарий