Как убить процесс в настоящее время с помощью порта на localhost в windows?

Как удалить текущий процесс/приложение, которое уже назначено к порту ? (Пример: - localhost: 8080)

8 ответов


Шаг 1

запуск командной строки от имени администратора. Затем выполните приведенную ниже команду mention. введите номер порта в yourPortNumber

команды netstat -АНО | findstr команды :yourPortNumber

Красная обведенная область показывает PID (идентификатор процесса)

Шаг 2

затем вы выполняете эту команду после идентификации PID.

taskkill /PID typeyourPIDhere / F

P. S. И снова запустить первую команду, чтобы проверить, если процесс все еще доступна или нет. Вы получите пустую строку, если процесс успешно завершен.


Шаг 1 (то же самое в accepted ответ написано KavinduWije):

netstat -ano | findstr :yourPortNumber

изменить Шаг 2 на:

tskill typeyourPIDhere 

С taskkill не работает в какой-то команде git bash


если вы используете GitBash

Шаг первый:

netstat -ano | findstr :8080

Шаг второй:

taskkill /PID typeyourPIDhere /F 

(/F принудительно завершает процесс)


на Windows PowerShell Версия 1 или более поздняя, чтобы остановить процесс на порту 3000 тип:

Stop-Process (, (netstat-ano / findstr :3000).split () / foreach {$[$.длина-1]}) - Force


Как предложил @morganpdx вот более PowerShell-ish, лучшая версия:

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


для использования в командной строке:

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

для использования в bat-файле:

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

Если вы хотите сделать это с помощью python: check возможно ли в процессе убийства python, который работает на определенном порту, например 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 

мы можем избежать этого, просто перезапустив IIS, используя команду bellow.

команду iisreset


для пользователей windows можно использовать currports также легко убить портов при использовании enter image description here