python - 从 shell 设置 `ulimit -c`

标签 python bash shell ulimit

我有一个在启动时自动运行的程序,偶尔会导致核心转储。

我想记录输出,但我似乎无法以编程方式设置 ulimit -c(默认为 0,每次都会重置)。

我试过使用 bash 脚本,以及 python 的 shos.systemsubprocess,但我不能让它工作。

最佳答案

一个进程只能为它自己和它的子进程设置资源限制。它不能为其祖先设置资源限制。通过调用 os.system('ulimit -c'),您要求子“ulimit”进程设置祖先“Python”进程的资源限制。

您的 Python 程序可以使用 resource 设置其资源限制模块:

import resource

resource.setrlimit(
    resource.RLIMIT_CORE,
    (resource.RLIM_INFINITY, resource.RLIM_INFINITY))

关于python - 从 shell 设置 `ulimit -c`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25475906/

相关文章:

javascript - Django STATIC_URL 在 java 脚本代码中使用不起作用

python - 如何从字符串中删除空格并将字符串切成多个固定长度的 block

bash - 这个 sed 语法是什么意思? "s/MY_BASE_DIR=\(.*\)/MY_BASE_DIR=${MY_BASE_DIR-\1}/"

arrays - 在 bash 数组中获取 shell 命令的输出

python - 如何提取存储在 mock.call 中的参数

python - 如何将此 DataFrame 转换为按索引值平均得分的 DataFrame?

linux - 用于循环变量控制的bash脚本

bash - 提取括号之间的字符串

macos - 监视特定文件更改然后捕获它们的 Shell 脚本

matlab - Matlab错误:关于 'compile_mex;'命令