Вищезазначене killall -9 node, запропоноване Патріком, працює, як очікувалося, і вирішує проблему, але ви можете прочитати редагування цієї самої відповіді про те, чому kill -9це не найкращий спосіб зробити це.
Крім того, ви можете націлити на один процес, а не сліпо вбивати всі активні процеси.
У цьому випадку спочатку знайдіть ідентифікатор процесу (PID) процесу, що працює на цьому порту (скажімо, 8888):
lsof -i tcp:8888
Це поверне щось на кшталт:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 57385 You 11u IPv6 0xac745b2749fd2be3 0t0 TCP *:ddi-tcp-1 (LISTEN)
Тоді просто зробіть (ps - насправді цього немає . Будь ласка, читайте нижче):
kill -9 57385
Ви можете прочитати трохи більше про це тут .
EDIT: Я сьогодні читав досить споріднену тему і натрапив на цю цікаву тему про те, чому я не повинен kill -9процес .
Як правило, слід використовувати kill -15 перед kill -9, щоб дати цільовому процесу можливість очиститись після себе. (Процеси не можуть наздогнати або ігнорувати SIGKILL, але вони можуть і часто вловлювати SIGTERM.) Якщо ви не даєте процесу закінчити те, що він робить, і очистити, він може залишити пошкоджені файли (або інший стан) навколо що він не зможе зрозуміти після перезапуску.
Отже, як зазначено, вам слід краще вбити вищезазначений процес за допомогою:
kill -15 57385
EDIT 2 : Як зазначалося в коментарі тут, багато разів ця помилка є наслідком того, що процес не виходить граціозно. Це означає, що багато людей вийти з команди вузла (або будь-який інший) , використовуючи поєднання клавіш CTRL + Z . Правильний спосіб зупинки запущеного процесу - видача CTRL + C яка виконує чистий вихід.
Правильний вихід із процесу звільнить цей порт під час вимкнення. Це дозволить вам перезапустити процес, не переживаючи проблеми вбивства самостійно, перш ніж мати можливість повторно запустити його.