У меня странная ситуация с открытым сетевым портом. Мой главный вопрос: почему бы не быть программой, связанной с открытым портом TCP:
netstat -ln --program
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN -
В моем конкретном случае предполагается, что демон nrpe (установка opsview) прослушивает порт 5666, но демон nrpe не работает. Если я попытаюсь запустить его, он немедленно выйдет.
lsof -i :5666
не показывает никакого вывода либо. В моей системе не работает (x) inetd.
ОБНОВИТЬ
Да, я запускал эти команды от имени пользователя root. Telnet мог бы, но не было никакого ответа.
После дальнейшего изучения я обнаружил ошибку ядра в dmesg
: это был экземпляр EC2 (на самом деле несколько из них), работающий на более старом ядре (2.6.16, по-видимому, нестабильно). Исправление, чтобы остановить падение, состояло в том, чтобы обновить ядра .
Похоже, из-за сбоя ядра процесс ушел и оставил порт открытым.
Ответы:
Порты, открытые ядром, не будут отображаться с именем программы. Некоторые вещи NFS и OCFS приходят на ум. Может быть, это что-то подобное?
Или это может быть ошибка ядра. Проверьте журналы ядра на OOPS и BUG.
источник
Вы запускаете netstat и lsof от имени пользователя root или с помощью sudo? Обратите внимание на последний столбец:
Из man-страницы netstat:
Откуда ты знаешь, что нет ни одного бегущего? Если порт используется, имеет смысл, что он немедленно завершит работу с ошибкой «используется сокет». что происходит, когда вы telnet к порту?
источник
выполнить 'netstat --tcp --udp --listening --program' от имени пользователя root . в противном случае вы не будете давать PID / название программы
затем используйте команду kill -9 PID
источник
Я на самом деле написал небольшой сценарий оболочки, чтобы помочь идентифицировать эти случайные вопросы:
сохранить как / usr / local / bin / tracer; выход:
Вам понадобятся права суперпользователя, чтобы использовать его
источник
Я смог отследить процесс, получив его инод через netstat, а затем используя этот инод с lsof. Смотрите мой более подробный ответ в /server//a/847910/94376 .
источник
Иногда программы, связанные с NFS, не отображаются в списке программ.
Кроме того, модули pap LDAP и libnss_ldap открывают соединения с серверами ldap, но фактический процесс, удерживающий соединение открытым, не существует, поэтому netstat -tnp показывает активное соединение без процесса.
источник