Как убить процесс на порте windows

Обновлено: 04.07.2024

Как я могу удалить текущий процесс / приложение, которое уже назначено порту?

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

Измените на шаге 2 на:

Примечание : taskkill не работает в некоторых терминалах git bash

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

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

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

Остановить процесс (, (netstat -ano | findstr: 3000) .split () | foreach [$ .length-1]>) -Force

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

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

Я знаю, что это действительно старый вопрос, но его довольно легко запомнить, быстрая команда для удаления приложения, использующего порт.

Требования: версия npm@5.2.0^

Для пользователей Windows вы можете использовать инструмент CurrPorts, чтобы легко убить используемые порты. :

Enter image description here

Вы можете сделать это, запустив bat-файл:

Ответ от Smunk работает отлично. Я повторяю его код здесь:

Однострочное решение с использованием GitBash :

Замените 8080 на порт, который слушает ваш сервер.

Если вам нужно часто его использовать, попробуйте добавить в свой

Этого можно избежать, просто перезапустив IIS с помощью следующей команды:

Вот сценарий для этого в WSL2

Результат для windows

Если вы используете Windows Terminal, то процесс убийства может быть небольшим менее утомительный. Я использую терминал Windows, и kill PID отлично работает для меня, чтобы убивать процессы в порту, поскольку новый терминал Windows поддерживает определенные команды bash. Например: kill 13300

Итак, весь процесс будет выглядеть так:

  • Откройте Windows Terminal
  • Введите следующую команду, чтобы показать процессы, запущенные на порту, который вы хотите убить. netstat -ano | findstr :PORT
  • Введите следующее, чтобы остановить процесс. kill PID

Посмотрите, когда я набрал первую команду для вывода списка процессов на порту, который она вернула пустым. Это означает, что все процессы сейчас убиты.

Я запускал zookeeper в Windows и не смог остановить работу ZooKeeper на порту 2181 с помощью zookeeper -stop.sh, поэтому попробовал этот метод с двойной косой чертой «//» для taskkill. Это сработало

Как я могу удалить текущий процесс / приложение, которое уже назначено порту?

Шаг 1:

Откройте cmd.exe (примечание: вам может потребоваться запустить его как администратор, но это не всегда необходимо), а затем выполните следующую команду:

netstat -ano | findstr :PORT_NUMBER

(Замените PORT_NUMBER на номер порта, который вы хотите, но оставьте двоеточие)


Область, обведенная красным, показывает PID (идентификатор процесса). Найдите PID процесса, который использует нужный порт.

Шаг 2:

Далее выполните следующую команду:

(На этот раз без двоеточия)


Наконец, вы можете проверить, была ли операция успешной или нет, повторно выполнив команду в «Шаге 1». Если все прошло успешно, вы не увидите больше результатов поиска по этому номеру порта.

Я должен был ввести escape-символы при запуске taskkill: taskkill //PID 12552 //F принятый ответ не будет работать для сервисов, которые настроены на перезапуск при сбое (это не linux) я думаю, что вы имели в виду PID_NUMBER, а не PORT_NUMBER в taskkill /PID PORT_NUMBER /F

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

Измените на шаге 2:

Примечание : taskkill не работает в некоторых терминалах git bash

@TzviGregoryKaidanov с какой проблемой вы сталкиваетесь? Это решение, которое сработало для меня. Я использую GIT Bash. Можно ли это сделать, передав выходные данные первой команды в seond?

С помощью стандартных инструментов Windows 10:

Откройте Windows PowerShell от имени администратора

Найти PID (ProcessID) для порта 8080:

Убить зомби процесс:

где "77777" - ваш PID

Как автоматизировать процесс и объединить эти две команды в один bat-файл, если нет возможности просмотреть вывод cmd, а затем написать новую команду вручную? @Serob_b set /p port="Enter port: " -> Порт ввода FOR /F "tokens=5" %%T IN ('netstat -aon ^| findstr %port% ') DO ( SET /A ProcessId=%%T) &GOTO SkipLine :SkipLine -> Извлекает PID в переменную taskkill /f /pid %ProcessId% -> Убивает задачу cmd /k -> Держит окно открытым

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

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

@ kylexy1357 попробуйте с одной косой чертой. «Двойная косая черта» - это escape-символ, предшествующий /, который не нужен для некоторых оболочек

В Windows PowerShell версии 1 или новее для остановки процесса на порту 3000 введите:

Stop-Process (, (netstat -ano | findstr: 3000) .split () | foreach [$ .length-1]>) -Force

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

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

'Stop-Process' is not recognized as an internal or external command, Я считаю, что это работает: Stop-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess -Force @Green Вам нужно запустить команду в Windows PowerShell

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

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

Если вы знаете, что порт использует IPv4, вы также можете сделать это lsof -nt -i4TCP:9001 .

Для пользователей Windows вы можете использовать инструмент CurrPorts для простого уничтожения используемых портов:

Введите описание изображения здесь

Я запускал zookeeper в Windows и не смог остановить ZooKeeper, работающий на порте 2181, используя zookeeper-stop.sh, поэтому попробовал этот метод двойной косой черты "//" для taskkill. Это сработало

Если вы используете Windows Terminal, то процесс убийства может быть немного менее утомительным. Я использую терминал Windows и kill PID отлично работаю, чтобы убить процессы в порту, так как новый терминал Windows поддерживает определенные команды bash. Например: kill 13300

Итак, весь процесс будет выглядеть так:

  • Откройте Windows Terminal
  • Введите следующую команду, чтобы показать процессы, запущенные на порте, который вы хотите уничтожить. netstat -ano | findstr :PORT
  • Введите следующую, чтобы убить процесс. kill PID

Посмотрите, когда я набрал первую команду для вывода списка процессов в порту, он вернулся пустым. Это означает, что все процессы сейчас убиты.

Порты используются приложениями для отправки и получения данных на свои серверы и с них. Каждое приложение использует определенный набор портов для связи. Эти порты открыты автоматически или вручную при установке приложения. В этой статье объясняются методы удаления процесса, привязанного к порту. Поскольку все приложения используют определенный порт, мы можем сказать операционной системе убить процесс, используя определенный порт.

Использование общение через определенный порт можно просто прекратить, предложив компьютеру сделать это. Однако этот процесс отличается от одной операционной системы к другой и требует прав администратора. Также убедитесь, что никакое другое приложение не использует порт. Вот способ завершить процесс по номеру порта. Поскольку методы различаются в зависимости от операционных систем, мы перечислили некоторые из наиболее популярных методов.

Процесс:

Процесс - это, по сути, копия программы. Поэтому, если вы запускаете такую ​​программу, как Блокнот, несколько раз, каждый конкретный час получает свой собственный процесс. Процесс использует ресурсы, такие как ОЗУ, доступные на вашем компьютере. Если вы посмотрите на диспетчер задач и увидите, что программа запускается несколько раз, каждое отдельное появление программы может быть отдельным процессом.

ID процесса:

Номера PID («ID процессов») присваиваются операционной системой каждый раз при запуске нового процесса.

Номер порта:

Как убить процесс, запущенный на определенных портах, по номеру порта

  1. Откройте CMD с правами администратора (запускайте от имени администратора).
  2. Найдите процесс, использующий нужный порт. Используйте следующую команду, чтобы определить, какие процессы запущены на порту 8080:

netstat -ano | findstr: 8080

Вы увидите следующий результат:


Последнее четырехзначное поле - это идентификатор процесса (PID).

taskkill / PID введите здесь свой PID / F.

  1. Повторите ту же команду на шаге 2 и убедитесь, что результат пуст.
  2. Повторите те же шаги для других портов 8005 и 8009.

CCNA, веб-разработчик, ПК для устранения неполадок

Я компьютерный энтузиаст и практикующий ИТ-специалист. У меня за плечами многолетний опыт работы в области компьютерного программирования, устранения неисправностей и ремонта оборудования. Я специализируюсь на веб-разработке и дизайне баз данных. У меня также есть сертификат CCNA для проектирования сетей и устранения неполадок.

Как удалить текущий процесс/приложение, которое уже назначено порту?

ОТВЕТЫ

Ответ 1

Шаг 1

Запустите командную строку в качестве администратора. Затем запустите следующую команду. введите номер своего порта в yourPortNumber

netstat -ano | findstr: yourPortNumber


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

Шаг 2

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

taskkill/PID typeyourPIDhere/F


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

Ответ 2

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

Изменить шаг 2 на:

Это, так как taskkill не работает в команде git bash

Ответ 3

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

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

Ответ 4

с инструментами по умолчанию WINDOWS10:

Шаг 1: Найти PID (ProcessID) для порта 8080:

Шаг 2: Убить зомби-процесс:

где "11999" - ваш PID

  • Иногда вам нужно открыть Windows PowerShell и администратор

Ответ 5

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

Stop-Process (, (netstat -ano | findstr: 3000).split() | foreach ) -Force

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

Стоп-процесс -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess -Force

Ответ 6

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

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

Ответ 7

Ответ 8

enter image description here

Для пользователей Windows вы можете использовать инструмент CurrPorts для простого уничтожения используемых портов

Ответ 9

Я запускал zookeeper @windows, не смог остановить запуск zookeeper на порте 2181 с использованием zookeeper-stop.sh, поэтому попробовал этот двойной слэш "//" метод taskkill. Это сработало

Ответ 10

Если вы хотите сделать это с помощью python: проверьте Возможно ли в процессе уничтожения питона, который работает на определенном порту, например 8080? Ответ от Smunk работает красиво. Я повторяю его код здесь:

Ответ 11

Вы можете сделать, запустив файл bat:

Ответ 12

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

Ответ 13

Работает! Но нам нужно открыть командную строку с правами администратора.

Порты используются приложениями для отправки и получения данных со своих серверов. Каждое приложение использует определенный набор портов для связи, и эти порты открываются автоматически или вручную при установке приложения. В этой статье мы обсудим методы завершения процесса, связанного с портом. Поскольку все приложения используют определенный порт, мы можем попросить операционную систему завершить процесс, использующий определенный порт.


Как убить процесс на порту?

Приложения, которые обмениваются данными через определенный порт, можно легко завершить, указав компьютеру сделать это. Однако этот процесс отличается в операционных системах и требует прав администратора. Также убедитесь, что никакое другое приложение не использует порт. Ниже приведен метод уничтожения процесса по его номеру порта. Поскольку этот метод различается в разных операционных системах, мы перечислили методы для некоторых из наиболее популярных.

Убить процесс на порте в Mac и Linux


  1. Откройте терминал и убедитесь, что вы вошли в систему как пользователь root.
  2. Перечислите процессы, которые прослушивают определенный порт, введя следующую команду и выполнив ее.
  3. Чтобы завершить любой процесс, который использует номер порта для связи, введите следующую команду и выполните ее.
  4. Вышеупомянутая команда может не работать в приложениях с высокими привилегиями, поэтому выполните следующую команду, чтобы немедленно завершить любой процесс, взаимодействующий с определенным портом.
  5. Эта команда немедленно завершит любой процесс, обменивающийся данными через указанный номер порта.

Убить процесс на порте в Windows


  1. Нажмите « Windows » + « R », чтобы открыть окно « Выполнить».
  2. Введите « cmd » и нажмите « Shift » + « Ctrl » + « Enter », чтобы открыть в административном режиме.
  3. Введите следующую команду, чтобы вывести список процессов, взаимодействующих через определенный порт.
  4. Это перечислит процесс, запущенный на определенном порту, обратите внимание на « PID » для программы.
  5. Чтобы убить все процессы, использующие определенный порт, введите следующую команду и нажмите « Enter », чтобы выполнить ее.
  6. Это немедленно остановит программу.

Читайте также: