Что в Python эквивалентно «ulimit»? - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь реализовать проверку системных ресурсов для текущей оболочки (в основном все в ulimit) в Python, чтобы посмотреть, можно ли выделить достаточно ресурсов. Я нашел модуль resource, но, похоже, он не содержит всей информации, предоставляемой ulimit (например, POSIX message queues и real-time priority). Есть ли способ найти мягкие и жесткие ограничения для них в Python без использования внешних библиотек? Я хотел бы избежать запуска ulimit в качестве подпроцесса, если это возможно, но если это единственный способ, сделайте это.

1 Ответ

2 голосов
/ 09 июля 2019

Используйте 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))
...