python - Python 中的 'ulimit' 是什么?

标签 python unix resources ulimit

我正在尝试在 Python 中为当前 shell(基本上是 ulimit 中的所有内容)实现系统资源检查,以查看是否可以分配足够的资源。我找到了 resource模块,但它似乎没有 ulimit 提供的所有信息(例如 POSIX 消息队列实时优先级)。有没有办法在不使用外部库的情况下在 Python 中找到这些的软限制和硬限制?如果可能,我想避免将 ulimit 作为子进程运行,但如果这是唯一的方法,我会这样做。

最佳答案

使用resource.getrlimit()。如果 resource 包中没有常量,请在 /usr/include/bits/resource.h 中查找:

$ grep RLIMIT_MSGQUEUE /usr/include/bits/resource.h
  __RLIMIT_MSGQUEUE = 12,
#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE

然后你可以自己定义常量:

import resource
RLIMIT_MSGQUEUE = 12
print(resource.getrlimit(RLIMIT_MSGQUEUE))

关于python - Python 中的 'ulimit' 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56959643/

相关文章:

python - 如何按月汇总和汇总项目?

linux - 返回当前 UTC 时间字符串的 Bash 函数回显它和 CWD 以及原始文件名

c# - 如何在 C# 项目中添加 script.ps1

python - python 的跨平台语音识别?

python - .astype ("int") 或 .astype(int)?有和没有引号/双引号之间有什么区别吗?

linux - 在 Unix 上计算每行/字段的字符出现次数

windows - 如何确定进程是否处于死锁状态或正在等待 I/O

android - 为什么无法以静态方式访问资源?

json - 在 Grails 2.3.x 的域类上更改 @Resource 结果的 max 属性的默认值

python - 使用PyGTK/win32,如何在其父窗口附近放置一个新窗口,但不在屏幕外?