所以我在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])获取详细信息。