#node.js #express #server #terminal #nodemon
#node.js #экспресс #сервер #терминал #nodemon
Вопрос:
Когда я выхожу из hyper terminal во время запуска сервера (порт: 1000) (на основе Express.js ), который был запущен с помощью nodemon, и снова откройте hyper terminal и попробуйте снова запустить сервер (порт: 1000) с / без nodemon, возникает следующая ошибка. Я не уверен, вызвано ли это hyper terminal или 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:
Nodemon предназначен для перезапуска приложения узла, когда оно обнаруживает сбой, и поэтому оно, вероятно, перезапускается, когда вы покидаете сеанс терминала.
Чтобы принудительно остановить процесс nodemon, запустите:
sudo ss -lnp | grep 1000
В этом списке перечислены все процессы, прослушивающие порт 1000
Обратите внимание на pid, т.е.
pid=27027
Тогда беги:
sudo kill -9 27027