我有时会编写Python程序,这些程序在执行之前很难确定它将使用多少内存.因此,我有时会调用一个试图分配大量RAM的Python程序,导致内核大量交换并降低其他正在运行的进程的性能.
因此,我希望限制Python堆可以增加多少内存.达到限制时,程序可能会崩溃.最好的方法是什么?
如果重要,很多代码都是用Cython编写的,所以它应该考虑那里分配的内存.我没有与纯Python解决方案结合(它不需要是可移植的),所以在Linux上运行的任何东西都可以.
我正在尝试设置Python沙箱,并希望禁止访问标准和文件I/O. 我在正在运行的Python服务器中运行沙箱.
我已经看过像RestrictedPython和的模块了PyPy; 但是,我希望能够在运行的Python服务器中编译沙箱代码,而不是通过外部进程编译.
是否有任何其他方法,以防止进入像命令print,raw_input或open?是否可以在运行的Python程序中编译沙箱代码的方式使用上述模块?
在最坏的情况下,你会如何阻止访问raw_input?
编辑:根据本教程安全地评估Python代码,是否可以传入一个被操作的内置模块?