【问题标题】:Does Socket.IO forks or spawns a new process when run?Socket.IO 在运行时是否会分叉或生成新进程?
【发布时间】:2015-10-16 13:05:51
【问题描述】:

我有一个使用 Socket.IO 进行消息传递的节点应用程序。

我使用它运行它

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

现在,当我查看 htop 实用程序时,我注意到我得到的是同一命令的多个进程,而不是 1。

有人可以用菜鸟的话向我解释这里发生的原因和情况吗?我也担心它也会消耗意外的内存/cpu 使用率。

【问题讨论】:

    标签: linux node.js socket.io fork htop


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      它不会自行启动任何额外的进程。

      您的多个进程要么是因为您不小心多次启动了自己的应用而没有将其关闭,要么是因为您的应用中有其他东西正在启动多个进程。 socket.io 不这样做。

      【讨论】:

      • 这应该是最近的可能原因。谢啦!今晚会检查这个。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      • 2021-07-28
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 2014-03-10
      相关资源
      最近更新 更多