2015-10-16 55 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