我看了看文档的叉方法,它只是描述提供文件路径子模块文件。
有谁知道这是否是可能的(无证)子模块中,而不是直接通过文件传递? 点是,我想动态生成的模块,然后用它创建子进程。
我看了看文档的叉方法,它只是描述提供文件路径子模块文件。
有谁知道这是否是可能的(无证)子模块中,而不是直接通过文件传递? 点是,我想动态生成的模块,然后用它创建子进程。
这是不可能的- fork()
创建了一个完全不同的过程,不与父进程共享上下文或变量。
一种选择,你必须将产生的派生进程内的模块,并通过命令行或通过一个临时文件,使您的孩子可以运行它传递必要的参数:
const data = 'something;
var childProcess = child_process.fork(__dirname + '/worker', [something]);
然后,您可以从孩子使用访问这些参数process.argv[2]
这种方法的一个限制是,你只能通过数据类型,并从工人在其父的情况下不能调用任何功能。 您需要为某种的孩子和家长,这超出了答案的范围之间的RPC的。