的NodeJS - 与函数字符串的文件,而不是fork子进程(NodeJS — Fork Chil

2019-09-30 02:33发布

我看了看文档的叉方法,它只是描述提供文件路径子模块文件。

有谁知道这是否是可能的(无证)子模块中,而不是直接通过文件传递? 点是,我想动态生成的模块,然后用它创建子进程。

Answer 1:

这是不可能的- fork()创建了一个完全不同的过程,不与父进程共享上下文或变量。

一种选择,你必须将产生的派生进程内的模块,并通过命令行或通过一个临时文件,使您的孩子可以运行它传递必要的参数:

const data = 'something;
var childProcess = child_process.fork(__dirname + '/worker', [something]);

然后,您可以从孩子使用访问这些参数process.argv[2]

这种方法的一个限制是,你只能通过数据类型,并从工人在其父的情况下不能调用任何功能。 您需要为某种的孩子和家长,这超出了答案的范围之间的RPC的。



文章来源: NodeJS — Fork Child Process with function string instead of file