如何fork/克隆一个相同的Node子进程,就像Linux系统调用的fork()一样



所以我在Node上开发一个服务器群,它需要每台机器上的多个进程来处理负载。由于Windows不能很好地与Node cluster模块相处,我不得不手动解决它。

真正的问题是当我分叉Node进程时,需要一个JS模块路径作为child_process.fork()函数的第一个参数,并且一旦分叉,子进程将不会从其父进程继承任何东西。在我的情况下,我想要一个函数做类似于Linux中的fork()系统调用,它克隆父进程,继承所有内容,并从fork()完成的位置继续执行。这可以在Node平台上实现吗?

我不认为node.js会支持fork(2)

来自节点github页面对主题

的评论

https://github.com/joyent/node/issues/2334 issuecomment - 3153822

我们(永远)不会支持分叉。

不能移植到windows

对用户来说概念上很困难

整个堆将被压缩VM快速复制;copy-on-write

没有好处

没有必要

我们很难做

child_process.fork ()

这是spawn()用于生成Node的一个特殊情况流程。除了在一个正常的ChildProcess实例时,返回的对象具有通信通道内置的。看到孩子。send(message, [sendHandle])获取详细信息。

最新更新