Windows의 localhost에서 현재 포트를 사용하는 프로세스를 종료하는 방법은 무엇입니까? [닫은]
이미 포트에 할당 된 현재 프로세스 / 응용 프로그램을 제거하는 방법?
예를 들면 다음과 같습니다. localhost:8080
1 단계
관리자 권한으로 명령 줄을 실행하십시오. 그런 다음 아래 언급 명령을 실행하십시오. yourPortNumber에 포트 번호를 입력 하십시오
netstat -ano | findstr : yourPortNumber
빨간색 원으로 표시된 영역에 PID (프로세스 식별자)가 표시됩니다.
2 단계
그런 다음 PID를 식별 한 후이 명령을 실행하십시오.
taskkill / PID 유형 yourPID 여기 / F
PS 첫 번째 명령을 다시 실행하여 프로세스가 여전히 사용 가능한지 확인하십시오. 프로세스가 성공적으로 종료되면 빈 줄이 나타납니다.
1 단계 (동일한 허용에 대답 쓴 KavinduWije ) :
netstat -ano | findstr :yourPortNumber
2 단계에서 다음으로 변경하십시오.
tskill typeyourPIDhere
이것은 taskkill
git bash 명령에서 작동하지 않기 때문에
GitBash를 사용하는 경우
1 단계 :
netstat -ano | findstr :8080
2 단계 :
taskkill /PID typeyourPIDhere /F
( /F
강제적으로 프로세스를 종료)
WINDOWS10 기본 도구 사용 :
1 단계 : 포트 8080의 PID (ProcessID) 찾기 :
netstat -aon | findstr 8080
TCP 0.0.0.0:8080 0.0.0.0:0 듣기 11999
2 단계 : 좀비 프로세스 종료
taskkill /f /pid 11999
여기서 "11999"는 PID입니다
에서 의 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)
Windows 사용자의 경우 CurrPorts 도구를 사용하여 사용중인 포트를 쉽게 종료 할 수 있습니다.
zookeeper @windows를 실행 중이었고 zookeeper-stop.sh를 사용하여 2181 포트에서 Zookeeper 실행을 중지 할 수 없었으므로이 이중 슬래시 "//"방법을 taskkill에 시도했습니다. 그것은 효과가 있었다
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.
python을 사용하여 수행하려는 경우 : check 특정 포트에서 실행되는 python kill 프로세스에서 가능합니까 (예 : 8080)? 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
박쥐 파일을 실행하면됩니다 :
@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
bellow 명령을 사용하여 IIS를 다시 시작하면이 문제를 피할 수 있습니다.
IISRESET
'Programing' 카테고리의 다른 글
fastcgi 및 django를 사용하여 nginx의 오류 로그를 어디에서 찾을 수 있습니까? (0) | 2020.03.04 |
---|---|
jQuery를 사용한 이메일 검증 (0) | 2020.03.04 |
iOS의 NSDictionary에서 JSON 문자열 생성 (0) | 2020.03.04 |
Java에서 Double을 정수로 캐스트 (0) | 2020.03.04 |
Entity Framework를 사용하여 SQL Server 데이터베이스의 변경 사항을 저장하는 동안 하나 이상의 엔터티에 대한 유효성 검사에 실패했습니다 (0) | 2020.03.04 |