2015-10-15 2 views
1

Я видел этот код где-то, который может закрыть все существующие открытые подножийКак закрыть все сокеты, используя Socket.io и NodeJS

if (io && io.sockets && io.sockets.sockets) { 
    io.sockets.sockets.forEach(function(s) { 
     s.disconnect(true); 
    });  
} 

Я называю этот метод, когда процесс находится на sigterm или sigint

Но как-то , есть еще существующий процесс узла, выполняющийся в фоновом режиме после нажатия ctrl + c и запуска кода ps -A | grep node У меня есть этот выход

3605 pts/0 00:00:00 узел

Как закрыть этот разъем без необходимости его убить?

Пожалуйста, сообщите мне, если вам нужна дополнительная информация, и я с радостью отредактировал свой вопрос, спасибо!

Edit: я понял, что сокеты иногда могут быть отключены, но когда происходят изменения в моем коде, узел (особенно nodemon) воссоединяется со специфическим гнездом (который был недавно отключен) и применит изменения I» ve производства. Таким образом, вопрос заключается в том, как я могу предотвратить повторное соединение сокета после его отключения? Что бы я добавил в код выше для достижения этой цели?

ответ

0

При запуске этого:

ps -A | grep node 

и вы видите один процесс, то это ваш процесс Grep. Когда вы вызываете grep, он создает grep-процесс, выводит на выходе все соответствующие процессы (также процесс grep) и завершает процесс grep в конце.

+0

Спасибо за отзыв, но я предпочитаю закрывать его программно с помощью nodejs и socket.io .. –

Смежные вопросы