У нас есть пара производственных WCF-сервисов, которые не запускаются, потому что их порты явно используются другим процессом. Я выполнил netstat -ano и нашел PID, которые используют эти порты, которые все находятся в состоянии LISTEN. Все порты конечных точек / служб, размещенных в одних и тех же процессах, имеют одинаковые PID, так что это проверяется.
Проблема в том, что я не вижу ни одного из этих PID в диспетчере задач. При попытке использовать параметр -b netstat сообщает, что это [System]. Он сообщает правильное имя процесса для работающих служб, но не для этих портов.
Я подозреваю, что старые экземпляры наших сервисов могут зависать ... и перезагрузка сервера может исправить это, но я предпочел бы знать, что происходит, прежде чем принимать меры. К сожалению, мне не разрешено устанавливать Process Explorer в производственных средах.
Какие еще варианты у меня есть, чтобы узнать имена процессов с этими PID? Извините за то, что может быть вопросом нуба, но я не системный администратор :)
Спасибо Майкл
Вы можете использовать SysInternals ' TCPView; он не требует установки, вы можете просто запустить его, ничего не устанавливая (что также верно для Process Explorer, BTW).
TCPView также может принудительно закрывать соединения и прослушивающие сокеты.
Один из методов, который может предоставить некоторые дополнительные «подсказки», - это подключиться к этим портам через Telnet, чтобы увидеть, «выдаются» ли запущенные процессы через какой-то баннер соединения.