gpt4 book ai didi

node.js - 如何结束 Node VM2 当前正在运行的任何代码

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:05 24 4
gpt4 key购买 nike

我正在 Node 中使用 vm2 运行一些沙盒代码.

正在运行的代码大部分是异步的。它是不受信任的代码,并且不能以任何方式依赖它来遵守 - 这就是为什么我使用 vm2 来运行它。

vm2 有办法结束当前正在执行的任何代码吗?文档非常有限。例如,如果我有以下代码:

var code = 'setInterval(function(){ console.log("tick"); }, 1000);'
vm.run(code);

有什么方法可以运行上面的代码,并在将来的某个时候停止它,而控制代码不必知道 code 的内容,并且不需要 代码必须提供任何特定功能吗?

我找不到 vm.stop() 方法或类似方法。

最佳答案

不幸的是,没有办法中断虚拟机中运行的代码的执行。 vm2 库基于 Node 的 VM 模块,它不提供任何中断沙箱中运行的代码的方法。至少在撰写本文时不是。

您唯一可以限制的是任何同步执行的持续时间。

免责声明:我是 vm2 库的作者。

关于node.js - 如何结束 Node VM2 当前正在运行的任何代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41081635/

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