Как убить зависший локальный сервер с ошибкой “EADDRINUSE: address already in use”

16.12.2021

В общем, развернутый локальный сервер, запущенный на Node, пришлось закрыть без остановки, и после этого не получается запустить новый сервер, выдается ошибка “EADDRINUSE: address already in use”.

Оставлю пример, как решить эту проблему и запустить новый сервер.

Пример для Windows

Откройте окно CMD в режиме администратора, выбрав «Пуск» > «Выполнить» > введите cmd > щелкните правой кнопкой мыши «Командная строка» и выберите «Запуск от имени администратора» .

Используйте команду netstat, чтобы получить список всех активных портов. -a переключатель отображает все порты в использовании, а не только порты, связанные с текущим пользователем. -n опция останавливает поиск имени хоста (который занимает много времени). Эта -o опция отображает ID процесса, который отвечает за активность порта. Команда findstr соответствует строке заголовка, содержащей строку PID, и порт, который вы ищете, в формате порта с предшествующим двоеточием :3000 .

netstat -ano|findstr "PID :3000"

Получаем ответ со списком процессов:

C:\Users\admin>netstat -ano|findstr "PID :3000" 
Proto Local Address Foreign Address State PID 
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 18264

Чтобы убить этот процесс ( /f ):

taskkill /pid 18264 /f

Теперь можно запускать новый сервер.

Больше примеров для Mac/Linux можно найти здесь.

Рекомендую к прочтению:

Оставить комментарий