[windows] Windows의 localhost에서 현재 포트를 사용하는 프로세스를 어떻게 종료합니까?

이미 포트에 할당 된 현재 프로세스 / 응용 프로그램을 제거하려면 어떻게해야합니까?

예를 들면 다음과 같습니다. localhost:8080



답변

1 단계:

cmd.exe를 엽니 다 (참고 : 당신이 할 수 관리자 권한으로 실행해야하지만이 항상 필요하지 않습니다), 다음 명령 아래의 실행

netstat -ano | findstr :PORT_NUMBER

(PORT_NUMBER를 원하는 포트 번호로 바꾸고 콜론을 유지하십시오)

빨간색 원으로 표시된 영역은 PID (프로세스 식별자)를 나타냅니다. 원하는 포트를 사용하는 프로세스의 PID를 찾으십시오.

2 단계:

다음 명령을 실행하십시오.

taskkill /PID PID /F

(이번에는 결장 없음)

마지막으로 “1 단계”의 명령을 다시 실행하여 작업의 성공 여부를 확인할 수 있습니다. 성공한 경우 해당 포트 번호에 대한 검색 결과가 더 이상 표시되지 않습니다.


답변

1 단계 (동일한 허용에 대답KavinduWije ) :

netstat -ano | findstr :yourPortNumber

2 단계에서 다음으로 변경하십시오.

tskill typeyourPIDhere

참고 : taskkill일부 git bash 터미널에서 작동하지 않습니다


답변

Windows 10 기본 도구를 사용하는 경우 :

  • 1 단계 :

관리자 권한으로 Windows PowerShell 열기

  • 2 단계 :

포트 8080에 대한 PID (ProcessID)를 찾으십시오.

netstat -aon | findstr 8080

TCP 0.0.0.0:8080 0.0.0.0:0 듣기 77777

  • 3 단계 :

좀비 프로세스를 종료하십시오.

taskkill /f /pid 77777

여기서 “77777”은 PID입니다.


답변

GitBash를 사용하는 경우

1 단계 :

netstat -ano | findstr :8080

2 단계 :

taskkill /PID typeyourPIDhere /F

( /F강제적으로 프로세스를 종료)


답변

에서 의 Windows PowerShell의 버전 1 이상은 포트 3000 유형의 프로세스를 중지합니다 :

중지 프로세스 (, (netstat -ano | findstr : 3000) .split () | foreach {$ [$ .length-1]})-강제


@morganpdx가 제안한 것처럼 여기에는 PowerShell이 ​​더 좋고 더 나은 버전이 있습니다.

중지 프로세스 -Id (Get-NetTCPConnection -LocalPort 3000) .OwningProcess -Force


답변

명령 행에서 사용하기 위해 :

for /f "tokens=5" %a in ('netstat -aon ^| find ":8080" ^| find "LISTENING"') do taskkill /f /pid %a

박쥐 파일에 사용 :

for /f "tokens=5" %%a in ('netstat -aon ^| find ":8080" ^| find "LISTENING"') do taskkill /f /pid %%a


답변

이미 포트 번호를 알고 있다면 소프트웨어 종료 신호를 프로세스 (SIGTERM)로 보내면 충분할 것입니다.

kill $(lsof -t -i :PORT_NUMBER)