从外壳设置`ulimit -c`

Jon*_*ono 6 python bash shell ulimit

我有一个程序在启动时自动运行,偶尔会导致coredump.

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

我使用bash脚本,以及Python的尝试sh,os.systemsubprocess,但我不能得到它的工作.

Rob*_*obᵩ 18

进程可能只为自己及其子进程设置资源限制.它无法为其祖先设置资源限制.通过调用os.system('ulimit -c'),您要求子"ulimit"进程设置祖先"Python"进程的资源限制.

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

import resource

resource.setrlimit(
    resource.RLIMIT_CORE,
    (resource.RLIM_INFINITY, resource.RLIM_INFINITY))
Run Code Online (Sandbox Code Playgroud)