当前位置: 首页 > 面试题库 >

在python脚本中设置stacksize

谭泉
2023-03-14
问题内容

我正在将csh脚本转换为python脚本。该脚本调用一个占用大量内存的可执行文件,该文件需要非常大的堆栈,因此csh脚本将stacksize设置为无限制:

limit stacksize unlimited

当我尝试在python中重现此脚本时,我会使用os.system,以非常幼稚的方式执行它们,例如:

os.system('some_executable')

但是我不知道如何告诉操作系统以不受限制的堆栈大小运行这些可执行文件。有没有办法为python脚本中的调用指定stacksize?我应该使用一些底层系统调用吗?并且有一个模块(类似于shutil)来控制它吗?


问题答案:

我对以下代码有很好的经验。它不需要任何特殊的用户权限:

import resource, sys
resource.setrlimit(resource.RLIMIT_STACK, (2**29,-1))
sys.setrecursionlimit(10**6)

但是它似乎不适用于pypy。



 类似资料:
  • 问题内容: 我知道如何在/ etc / profile和环境变量中进行设置。 但是,如果我想在脚本中进行设置怎么办?是导入os,sys吗?我该怎么做? 问题答案: 您没有设置,而是向中添加条目。这是应该在其中搜索Python软件包的目录列表,因此您只需将目录追加到该列表即可。 实际上,是通过分割路径分隔符上的值来初始化的(在类似Linux的系统上,在Windows上)。 您也可以使用来添加目录,该

  • 问题内容: 我有一个bash脚本,用于设置环境变量并运行命令 现在,我想使用python代替bash,因为我想计算传递给命令的一些参数。 我试过了 和 其次是 但由于未设置LD_LIBRARY_PATH,因此程序总是放弃。 我怎样才能解决这个问题? 感谢帮助! (如果我在调用python脚本之前导出LD_LIBRARY_PATH,则一切正常,但我希望python确定路径并将环境变量设置为正确的值)

  • 问题内容: 在编写 Python 3.1 CGI脚本时,我遇到了可怕的UnicodeDecodeErrors。但是,在命令行上运行脚本时,一切正常。 似乎使用和的返回值知道默认使用哪种编码。在命令行上运行时,该值应为’UTF-8’。但是,当通过浏览器运行脚本时,编码神秘地重新定义为“ ANSI_X3.4-1968”,这似乎只是纯ASCII的奇特名称。 我现在需要知道如何在所有情况下都以’utf-8

  • 我在谷歌上研究了我的许多问题,但没有找到任何能提供直接答案的东西。我正在设置代码电子邮件一个表一次(或多次)。我无法设置收件人的电子邮件地址。我需要脚本为数据范围()中的每个地址发出一封电子邮件。 我很遗憾,由于隐私原因,我不能分享整个脚本。(从积极的方面来说,除了这个以外,其他的东西都起作用了。) 要获得“gmailapp.sendeMail”语句可用的一个(或多个)电子邮件地址,需要做什么?无

  • 我试图设置一个ENV等于Python脚本输出在我的dockerfile。由于分层,我无法找到将它们放在同一层的方法。我也无法找到一种方法将变量直接设置为等于脚本,我似乎无法找到如何在同一行中运行脚本。 python是一个简单的打印,称为test.py: 到目前为止,我已经在dockerfile中尝试了以下几个版本,以将ENV设置为脚本: 是否可以一步将ENV testvar设置为脚本的值,或者确保

  • 测验sh包含: 我设置测试。sh至chmod 777 我用两个参数开始脚本: 然后我通过键入以下内容进行测试: 结果: 我做错了什么?