Порт слушает, но никому не принадлежит

0

Предисловие (пропустите для реальной проблемы): у меня есть приложение, которое прослушивает порт 843. Этот процесс запускается от имени пользователя root. Иногда убийство процесса (с помощью ^ C) оставляет его на долгое время (навсегда?). Будучи нетерпеливым, я убиваю его kill -9, Проблема сейчас в том, что порт 843 все еще слушает, хотя там нет приложения.

Смотря на lsof -i не показывает мне процессы, слушающие 843, даже при запуске от имени root. Смотря на netstat -aоднако, показывает, что это прослушивание, и даже некоторые соединения, которые были разорваны неправильно:

Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp6       0      0  localhost.843          localhost.60927        CLOSE_WAIT
tcp6     386      0  localhost.843          localhost.60926        CLOSE_WAIT
tcp6       0      0  localhost.843          localhost.60925        CLOSE_WAIT
tcp6     386      0  localhost.843          localhost.60924        CLOSE_WAIT
tcp46      0      0  *.843                  *.*                    LISTEN
tcp4       0      0  *.843                  *.*                    LISTEN

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

Как я могу выйти из этого беспорядка без перезагрузки? Важен ли тот факт, что я управлял им как root? (Мне нужен только root для прослушивания портов с низким номером, для которых я не нашел пути без установки программного обеспечения, такого как authbind)

Johannes Hoff
источник
не могли бы вы опубликовать вывод netstat -lntp|grep 843
Serge
Это на OSX (BSD), поэтому -lntp вероятно означает что-то другое, чем вы хотите. В частности, -p принимает аргумент (протокол). Каким будет выход?
Johannes Hoff
Не похоже, что есть эквивалент -p в OSX: \
Johannes Hoff