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/

相关文章:

python - Pandas-在各种日期时间范围内合并分钟数

linux - unix - 如果同时执行,则 shell 脚本不会以正确的顺序执行

linux - 如何在Linux Shell中循环播放相同格式的文件

linux - 如何根据第一个脚本的结果从另一个 shell 脚本调用 shell 脚本?

bash - lsof 应该为一组 pids 提供所有打开的文件

linux - 如何使用 Shell 脚本验证 IP 是否被特定服务器使用?

regex - 如何在 shell 中使用正则捕获这个特定的字符串?

python - "else"在 Python 中被认为是有害的?

python - Python 3.4-将字符串输入格式化为标题格式

python - 在许多点计算许多单项式