Spaces:
Sleeping
Sleeping
from dataclasses import dataclass, fields | |
class ResourceLimits: | |
core: int = 0 # RLIMIT_CORE | |
data: int = -1 # RLIMIT_DATA | |
# nice: int = 20 # RLIMIT_NICE | |
fsize: int = 0 # RLIMIT_FSIZE | |
sigpending: int = 0 # RLIMIT_SIGPENDING | |
# memlock: int = -1 # RLIMIT_MEMLOCK | |
rss: int = -1 # RLIMIT_RSS | |
nofile: int = 4 # RLIMIT_NOFILE | |
msgqueue: int = 0 # RLIMIT_MSGQUEUE | |
rtprio: int = 0 # RLIMIT_RTPRIO | |
stack: int = -1 # RLIMIT_STACK | |
cpu: int = 2 # RLIMIT_CPU, CPU time, in seconds. | |
nproc: int = 1 # RLIMIT_NPROC | |
_as: int = 2 * 1024 ** 3 # RLIMIT_AS set to 2GB by default | |
locks: int = 0 # RLIMIT_LOCKS | |
# rttime: int = 2 # RLIMIT_RTTIME, Timeout for real-time tasks. | |
def fields(self): | |
for field in fields(self): | |
yield field.name | |
if __name__ == "__main__": | |
limits = ResourceLimits() | |
prlimit_str = " ".join( | |
f"--{field.name[1:] if field.name.startswith('_') else field.name}={getattr(limits, field.name)}" | |
for field in fields(limits) | |
) | |
print(prlimit_str) | |