Сценарий Node.js запущен, но не остановится! - PullRequest
9 голосов
/ 27 июня 2011

У меня есть этот test.js, работающий в Node.js под CentOS 5. Он отлично работает. Проблема в том, что это не остановит! Даже после закрытия моего ssh-клиента он не остановится.

Как остановить работающий скрипт?

Ответы [ 3 ]

16 голосов
/ 27 июня 2011

У вас

$ pkill node

не работает?

12 голосов
/ 27 июня 2011

Какой код вы используете, если это пример кода, предоставленного главной страницей nodejs.net, то когда вы работаете в своем терминале и на своем сервере, вы можете просто нажать CTRL + C чтобы остановить текущее задание

Если вы используете SSH и хотите выполнить команду для остановки процессов узла, сделайте что-то вроде этого:

$ ps aux | grep node
USR  PID  1.5  0.2  44172  8260 pts/2    S    15:25   0:00 node app.js
$ kill -2 PID

Это просто поискPID узловых процессов и затем их уничтожение

7 голосов
/ 18 декабря 2012

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

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

У меня была эта проблема некоторое время назад, и процесс должен был остановиться, но по какой-то причине этого не произошло. После большого труда вставки консольных журналов, чтобы найти функцию, которая ожидала бесконечно, и node debug ing ...

exports.something = require('./something')

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

if (require.main !== module) {
    exports.something = require('./something')
}

Файл больше не работает, ничего не делая.

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