LINUX.ORG.RU
ФорумAdmin

Убить сокет в состоянии CLOSE-WAIT


0

1

SLES 10. Как в консоли можно убить такой «зависший» сокет стандартными средствами? Нагуглил только tcpkill но в системе такого нет

★★★★★

Последнее исправление: zolden (всего исправлений: 1)
Ответ на: комментарий от power

close-wait может оставаться после закрытия породившего процесса, ЕМНИП. Закрывается сам через некоторое время.

По теме — tcpkill должен быть в составе dsniff (в Debian так (= )

GotF ★★★★★
()
Ответ на: комментарий от power

lsof и fuser и пр. не подходят, процесс убивать нельзя - он держит кучу других открытые соединения через которые идут данные, «зависло» конкретное соединение которое и надо сбросить

zolden ★★★★★
() автор топика
Ответ на: комментарий от GotF

>По теме — tcpkill должен быть в составе dsniff (в Debian так (= )

Соединение, по которому нет передачи данных, убить невозможно.
Это как зомби-процесс.

nnz ★★★★
()
Ответ на: комментарий от zolden

>tcpkill или tcpdrop это как то ведь делают?

tcpkill этого не делает, потому что, при отсутствии передаваемых пакетов, не может перехватить идентификатор последовательности, который нужен для внедрения в сеанс.
tcpdrop использует особенности ядра FreeBSD, и в Linux такой программы нет.

nnz ★★★★
()
Ответ на: комментарий от VitalkaDrug

>А conntrack разве этого не сделает?

Удаление соединения из таблицы состояний conntrack никак не влияет на его состояние в сетевом стеке ядра.

nnz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.