I 'd like to create a process in Python (probably with subprocess and Popen), which should have limited CPU time, limited child processess and memory bandwidth. I can;t find a way to do this. resource.setrlimit
does not seem to work.
My code is :
import os
import sys
import resource
import subprocess
import signal
def setlimits():
os.seteuid(65534) # Has to run as root user in order to be able to setuid
resource.setrlimit(resource.RLIMIT_CPU, (1, 1))
resource.setrlimit(resource.RLIMIT_FSIZE, (500, 500))
resource.setrlimit(resource.RLIMIT_NPROC, (80, 80))
p = subprocess.Popen( ["./exec.out"] , preexec_fn=setlimits )