为什么我的服务器上列出了多个PM2进程?

时间:2016-01-19 20:18:31

标签: node.js multithreading server daemon pm2

我使用PM2在生产服务器上运行Node应用程序。当我ssh进入服务器并运行htop时,我可以看到列出了多个PM2 God Daemon进程。我不明白为什么会有多个进程,因为只有一个Sails应用程序通过PM2运行。

我认为Node应用程序只使用一个线程,因此我不确定为什么会列出多个PM2进程。有人可以帮助解释一下吗?

enter image description here

2 个答案:

答案 0 :(得分:10)

htop作者:这些是你的过程的 threads 。按大写 H 切换隐藏/显示线程,按 F2 进入设置屏幕,然后导航到“显示选项”并选中“[x]显示选项不同颜色的线程“。这样您就可以将线程与常规流程区分开来。

答案 1 :(得分:2)

没有多个进程(至少不是复制意义上的)。您看到的是htop中(子)流程的默认排序表示。

您可以按F5切换到进程树的树形表示。然后,它将显示由初始程序启动的所有子流程的分层表示,此处为:PM2。事实上,可能会有不少。

有关详细信息,请参阅官方htop man page(在ubuntu.com上)的说明:

  

F5,t

     

树视图:按父母身份组织流程,并将它们之间的关系布局为树。切换键将在树和先前选择的排序视图之间切换。选择排序视图将退出树视图。

希望它有所帮助。