it-swarm-korea.com

현재 Windows에서 로컬 호스트의 포트를 사용하는 프로세스를 종료하는 방법은 무엇입니까?

이미 포트에 할당되어있는 현재 프로세스/응용 프로그램을 제거하는 방법은 무엇입니까?

예 : localhost:8080

268
KavinduWije

1 단계  

명령 줄을 관리자 권한으로 실행하십시오. 그런 다음 아래의 언급 명령을 실행하십시오. yourPortNumber에 포트 번호를 입력하십시오.

netstat -ano | findstr : yourPortNumber

붉은 색으로 표시된 부분은 PID (프로세스 식별자)

2 단계

그런 다음 PID를 식별 한 후에이 명령을 실행합니다. 

taskkill/PID typeyourPIDhere / F

추신 첫 번째 명령을 다시 실행하여 프로세스가 여전히 사용 가능한지 확인하십시오. 프로세스가 성공적으로 끝나면 빈 줄이 생깁니다.

578
KavinduWije

1 단계 (동일 함) : KavinduWije 에 의해 작성된 :

netstat -ano | findstr :yourPortNumber

2 단계에서 다음으로 변경 :

tskill typeyourPIDhere 

이것은 taskkill이 (가) 일부 git bash 명령에서 작동하지 않기 때문에

76
afsarkhan10182

GitBash를 사용하는 경우

1 단계 :

netstat -ano | findstr :8080

2 단계 :  

taskkill /PID typeyourPIDhere /F 

(/F는 강제로 프로세스를 종료합니다)

62
Ara Yaghsizian

Windows PowerShell 버전 1 이상에서 포트 3000에서 프로세스를 중지하려면 다음을 입력하십시오.

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


@morganpdx가 제안한 것처럼 PowerShell-ish가 더 좋은 버전입니다.

Stop-Process -Id (Get-NetTCPConnection -LocalPort 3000) .OwningProcess -Force

18
todorm

커맨드 라인에서 사용 :

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
10
Mahesh Narwade

Windows 10 기본 tstrong 텍스트 도구 사용 :

1.) 포트 8080을 사용하여 PID (ProcessId)를 찾습니다.

netstat -aon | findstr 8080

TCP 0.0.0.0:8080 0.0.0.0:0 LISTEN 11980

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

taskkill /F /PID 11980

여기서 "11980"은 ProcessId입니다.

8
DuracellDeMonaco

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

kill $(lsof -t -i :PORT_NUMBER)
3
Telefonplan

Windows 사용자는 CurrPorts tool을 사용하여 사용중인 포트를 쉽게 종료 할 수 있습니다.  enter image description here

3
Zuhair Taha

파이썬을 사용하여 원하는 경우 : check 특정 포트 (예 : 8080)에서 실행중인 python kill 프로세스에서 가능합니까?Smunk 의 답변은 멋지게 작동합니다. 나는 그의 코드를 여기에서 반복한다.

from psutil import process_iter
from signal import SIGTERM # or SIGKILL

for proc in process_iter():
    for conns in proc.connections(kind='inet'):
        if conns.laddr.port == 8080:
            proc.send_signal(SIGTERM) # or SIGKILL
            continue 
2
Kardi Teknomo

나는 zookeeper @windows를 실행 중이었고, zookeeper-stop.sh를 사용하여 2181 포트에서 실행중인 사육사를 막을 수 없었습니다. 따라서이 이중 슬래시를 "작업"으로 시도했습니다. 효과가있다. 

     1. netstat -ano | findstr :2181
       TCP    0.0.0.0:2181           0.0.0.0:0              LISTENING       8876
       TCP    [::]:2181              [::]:0                 LISTENING       8876

     2.taskkill //PID 8876 //F
       SUCCESS: The process with PID 8876 has been terminated.
1
sandprogrammer

박쥐 파일을 실행하면됩니다.

@ECHO OFF                                                                              
FOR /F "tokens=5" %%T IN ('netstat -a -n -o ^| findstr "9797" ') DO (
SET /A ProcessId=%%T) &GOTO SkipLine                                                   
:SkipLine                                                                              
echo ProcessId to kill = %ProcessId%
taskkill /f /pid %ProcessId%
PAUSE
1
flopcoder

벨로우즈 명령을 사용하여 IIS를 간단히 다시 시작하면이 문제를 피할 수 있습니다.

IISRESET

0
ksrider 148