Убить процесс узла в linux - PullRequest
0 голосов
/ 29 июня 2018

При попытке запустить сервер узла с помощью узла server.js я получаю сообщение об ошибке EADDRINUSE ::: 4002. Я получаю процесс прослушивания порта 4002 с помощью команды: sudo lsof -i: 4002. После этого я пытаюсь убить процесс, используя kill -9. Проблема в том, что когда я снова запускаю команду sudo lsof -i: 4002 после завершения процесса, я вижу, что процесс узла снова запускается с другим идентификатором процесса.

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

Ответы [ 3 ]

0 голосов
/ 29 июня 2018
  1. 'netstat -nptl', чтобы увидеть все процессы
  2. kill -9 3887 (например, узел работает на 3887 / узел)
0 голосов
/ 29 июня 2018

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

sudo -u <user who is running the process> pm2 list

Теперь вы найдете все процессы, запущенные данным пользователем. Отсюда возьмите идентификатор процесса, который вы хотите остановить, затем запустите (чтобы остановить один процесс)

sudo -u <user who is running the process> pm2 stop <id>

или просто остановить их всех

sudo -u <user who is running the process> pm2 stop all

Обратите внимание, что sudo -u необходим только потому, что процессы выполняются другой пользователь. Если вы хотите остановить процесс, ваш текущий пользователь имеет создан, пропустите sudo -u <user> part

0 голосов
/ 29 июня 2018

Попробуйте этот cmd в терминале, чтобы убить весь процесс узла:

killall node
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...