gpt4 book ai didi

node.js - NodeJS — 使用函数字符串而不是文件来 fork 子进程

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:19 24 4
gpt4 key购买 nike

我查看了 documentation对于fork方法,它仅描述提供子模块文件的文件路径。

有谁知道是否可以(且未记录)直接传递子模块而不是通过文件?重点是,我想动态生成模块,然后用它创建一个子进程。

最佳答案

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

您的一个选择是在 fork 进程内生成模块,并通过命令行或临时文件向其传递必要的参数,以便您的 child 可以运行:

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

然后,您可以使用 process.argv[2] 从子进程访问参数。

该方法的一个限制是您只能传递数据类型,并且无法从工作线程调用其父级上下文中的任何函数。您需要在子级和父级之间进行某种 RPC,这超出了本答案的范围。

关于node.js - NodeJS — 使用函数字符串而不是文件来 fork 子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55048262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com