首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clojure:轻量级监狱

Clojure:轻量级监狱
EN

Stack Overflow用户
提问于 2012-06-09 18:08:05
回答 1查看 559关注 0票数 2

上下文:

在Lua中,创建一个新的Lua VM非常简单而且非常便宜(4kb的内存)。因此,创建廉价的lua "jails“是微不足道的。然后,如果不受信任的代码行为不正常,我就会杀死Lua VM。

我知道https://github.com/Licenser/clj-sandbox,但它似乎只是围绕着Java……这将使不受信任的代码线程成为本机Java线程,这样我就无能为力了。

问题:

有没有办法创建廉价/轻量级的Clojure监狱?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-09 18:22:41

我是一个名为clojail的小型库的(共同)作者,它是对clj-sandbox的一种重新思考。它还利用了Java沙箱,而且还提供了用于沙箱Clojure特定事物的特性。tryclj4clojure都利用了它。

我不明白你说剩下的是什么意思。JVM沙箱很棒,因为它可以防止I/O。Clojail通过允许超时来防止长时间运行的代码来完成剩下的工作。如果你所说的是“人们可以创建线程,而我不能杀死他们”,clojail会杀死在沙箱中创建的线程,并且通常会尽最大努力防止散乱的线程跑掉。JVM沙箱(和clojail特定的东西)仍然可以防止危险的代码在线程上运行。

综上所述,请查看clojail。这可能就是你所需要的。对于大多数目的来说,它已经足够了,而且是市面上唯一的jails游戏(除了clj-sandbox,它不需要维护)。它并不总是最好的解决方案,但它通常是最简单的。

下一步,如果clojail没有做您需要的事情,就是使用您自己的监听机制,这涉及到使用JVM沙箱和剥离JVM。这有大量的开销,所以如果可能的话,我会尽量避免。绝对不再是4KB的Luatown了。;)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10960101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档