Когда я выхожу из гипертерминала при запуске сервера (порт: 1000) (на основе Express.js), который был запущен с помощью nodemon, снова открываю гипертерминал и снова пытаюсь запустить сервер (порт: 1000) с / без nodemon, это возникает ошибка ниже. Я не уверен, вызвано ли это гипертерминалом или nodemon.

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

events.js:292
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::1000
    at Server.setupListenHandle [as _listen2] (net.js...

(---snipped---)

  code: 'EADDRINUSE',
  errno: -48,
  syscall: 'listen',
  address: '::',
  port: 1000
}
[nodemon] app crashed - waiting for file changes before starting...
1
sekai_no_suda 11 Дек 2020 в 08:55

1 ответ

Лучший ответ

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

Чтобы принудительно остановить запуск процесса nodemon:

sudo ss -lnp | grep 1000

В этом списке перечислены все процессы, прослушивающие порт 1000.

Обратите внимание на pid, т.е.

pid=27027

Затем запустите:

sudo kill -9 27027
1
Raman Sailopal 11 Дек 2020 в 10:16