2015-10-16 34 views
0

我有一个使用Socket.IO进行消息传递的节点应用程序。Socket.IO在运行时分叉还是产生新的进程?

我运行它使用

node --expose_gc /path/to/app.js

现在,当我检查了htop工具,我注意到,而不是1,我收到了同样的命令的多个进程。

Attachment

是否有人,在小白而言,为什么,这到底是怎么回事解释一下吗?我也担心它可能会消耗意外的内存/ CPU使用率。

回答

1

socket.io不分叉或产生任何子进程。 通常运行node.js的子进程通过集群模块产生,但是socket.io没有这样的事情。 它只是在http服务器上添加一个处理程序。

1

socket.io只是一个挂钩到Web服务器并监听某些传入请求(启动webSocket/socket.io连接的请求)的库。一旦启动了socket.io连接,它就使用正常的套接字编程来发送/接收消息。

它本身不会启动任何其他进程。

您的多个进程可能是因为您无意中多次启动了自己的应用程序而没有关闭它,或者您的应用程序中有其他启动多个进程的其他应用程序。 socket.io不这样做。

+0

这应该是最接近可能的原因。谢啦!今晚会检查这个。 – Aldee

相关问题