如何将node.js对象传递给子进程,然后访问这些对象

时间:2012-06-19 13:20:26

标签: node.js

其实我正在通过子进程进行沙盒化。我使用vm.runincontext方法来运行脚本。我使用child.stdin.write将代码传递给子进程,并使用stdin.on('data'function())在子进程中进行回收...现在我想要的是该脚本可以访问一些node.js对象或用户定义的对象通过上下文,该上下文将动态传递给子进程,并将在该上下文中运行sanbox。目前我在子进程中创建上下文对象,但我不希望我想将上下文对象传递给子进程。

2 个答案:

答案 0 :(得分:2)

考虑一下你在问什么。您不仅要序列化当前执行上下文,还要序列化所有其他上游上下文,整个全局命名空间,文件描述符......

换句话说,这将是一项疯狂的工作,你不能。 : - )

您可以做的是序列化数据并在stdout / stdin句柄上来回发送。这就是解决这个问题的方法。

希望有所帮助。

答案 1 :(得分:0)

一般来说,你不能真正做到这一点,因为基本上你是在尝试跨进程共享数据(即内存),这是一个很大的禁忌

但是使用nowjs可以让你非常接近。查看nowjs并将所有进程挂钩到它