포트 3000에서 수신 대기하는 응용 프로그램을 개발 중입니다. 포트를 시작할 때마다 포트를 이미 수신하기 때문에 리스너 (C #, TcpListener이지만 관련이 없음)를 만들 수 없기 때문에 여전히 포트를 수신하는 인스턴스가 있습니다. 찍은.
이제 응용 프로그램이 작업 관리자에 존재하지 않으므로 PID를 찾아서 죽이려고 시도하여 다음과 같은 흥미로운 결과를 얻었습니다.
C:\Users\username>netstat -o -n -a | findstr 0.0:3000
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 3116
C:\Users\username>taskkill /F /PID 3116
ERROR: The process "3116" not found.
나는 전에이 행동을 보지 못했고 누군가가 해결책을 가지고 있는지 알기에 충분히 재미 있다고 생각했습니다.
업데이트 : Process Explorer를 시작하고 3000을 검색하여 다음을 발견했습니다.
<Non-existent Process>(3000): 5552
마우스 오른쪽 버튼으로 클릭하고 "핸들 닫기"를 선택했습니다. 더 이상 Process Explorer에 없지만 netstat에 계속 표시되고 앱이 리스너를 시작하지 못하게합니다.
업데이트 2 : 프로세스를로 표시하는 Windows 용 TCPView를 찾았습니다 "<non-existent>"
. CurrPorts와 마찬가지로이 도구에서 연결을 닫으려고해도 아무 반응이 없습니다.