Подтвердить что ты не робот

Не удается узнать, где работает приложение node.js и не может его убить

Что я сделал: Я только что настроил среду node, установил экспресс, создал и установил экспресс-проект

express hello
cd hello && npm install

затем запустило приложение с помощью "node app".

Окружающая среда:

[email protected]:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.2 (wheezy)
Release:    7.2
Codename:   wheezy

[email protected]:~$ node --version
v0.10.22

[email protected]:~$ express --version
3.4.4

Проблема Когда я хочу остановить это приложение, я использовал CTRL+C,, но я обнаружил, что он не остановился. Затем я перезапустил сервер! Я обнаружил, что все еще могу получить доступ к странице в браузере. ОРЗ.

Я пробовал следующее, но все еще не могу узнать о текущем процессе.

[email protected]:~$ killall node
node: no process found

[email protected]:~$ ps -ef|grep node
yole      3161  2888  0 16:57 pts/1    00:00:00 grep node

[email protected]:~$ netstat -apn|grep 3000

Вопрос Как узнать, как работает node или как его убить.

===== Обновление Очень странно, что все просмотры на моей машине могут посещать сайт, пока он недоступен на другой машине! Я только просматриваю страницу с Chrome перед тем, как остановить приложение. Кажется, это проблема с кешем, но как кеш делится между браузерами.

4b9b3361

Ответ 1

Список node процесс:

$ ps -e|grep node

Убейте процесс, используя

$kill -9 XXXX

Здесь XXXX - номер процесса

Ответ 2

Если вы хотите знать, как работают процессы nodejs, вы можете использовать эту команду

ps -aef | grep node

Таким образом, он предоставит список процессов nodejs с его именем проекта. Это будет полезно, если вы используете приложение multipe nodejs, и хотите уничтожить определенный процесс для конкретного проекта.

Выше команда выдаст результат, например

XXX  12886  1741  1 12:36 ?        00:00:05 /home/username/.nvm/versions/node/v9.2.0/bin/node --inspect-brk=43443 /node application running path.

Итак, чтобы убить, вы можете использовать следующую команду

kill -9 12886

Таким образом, он убьет процесс spcefic node

Ответ 3

Вы можете убить все node процессы, используя pkill node

или вы можете сделать ps T, чтобы увидеть все процессы на этом терминале
то вы можете убить определенный идентификатор процесса, выполнив пример kill [processID]: kill 24491

Кроме того, вы можете сделать ps -help, чтобы просмотреть все доступные параметры

Ответ 4

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

У меня была аналогичная проблема, и это произошло из-за того, что я запускал свой node процесс с использованием PM2 (пакет NPM). Команда kill [processID] отключает процесс, но сохраняет порт занятым. Поэтому мне пришлось перейти в PM2 и сбросить весь процесс node, чтобы освободить порт снова.

Ответ 5

Я использую fkill

УСТАНОВИТЬ

npm i fkill-cli -g

ПРИМЕРЫ

Процесс поиска в командной строке

fkill node

ИЛИ: убей! ВСЕ процесс

fkill node

ИЛИ: убить процесс, используя порт 8080

fkill :8080