3

実際、私は子プロセスを通じてサンボックス化を行っています。vm.runincontext メソッドを使用してスクリプトを実行しています。child.stdin.write を使用して子プロセスにコードを渡し、stdin.on('data' function()) を使用して子プロセスで受信しています... 今私が欲しいのは、スクリプトがいくつかの node.js オブジェクトまたはユーザー定義オブジェクトにアクセスできることですコンテキストを介して、そのコンテキストが子プロセスに動的に渡され、そのコンテキストで sanbox が実行されます。現在、子プロセスでコンテキスト オブジェクトを作成していますが、コンテキスト オブジェクトを子プロセスに渡したくありません。

4

2 に答える 2

3

あなたが求めていることを考えてみましょう。現在の実行コンテキストだけでなく、他のすべてのアップストリーム コンテキスト、グローバル名前空間全体、ファイル記述子をシリアル化する必要があります...

言い換えれば、これは途方もない量の作業であり、できません。:-)

できることは、データをシリアル化し、stdout/stdin ハンドルを介して前後に送信することです。これが、この問題が通常解決される方法です。

それが役立つことを願っています。

于 2012-06-20T21:06:25.017 に答える
1

基本的に、プロセス間でデータ(つまりメモリ)を共有しようとしているため、一般的にこの種のことを実際に行うことはできません。

しかし、nowjsを使用すると、かなり近づくことができます。nowjsをチェックして、すべてのプロセスをそれに接続します

于 2012-06-19T14:23:50.360 に答える