Я хотел бы создать процесс на Python (возможно, с подпроцессом и Popen), который должен иметь ограниченное время ЦП, ограниченные дочерние процессы и пропускную способность памяти. Я не могу найти способ сделать это. resource.setrlimit
, похоже, не работает.
Мой код:
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 )
p = subprocess.Popen( ["/bin/bash","-c","ulimit -a"] , preexec_fn=setlimits )
- person Brian Swift   schedule 29.03.2012printf("Hello\n)
, могут привести к тому, что программе потребуется много времени для накопления одной секунды процессорного времени. Попробуйте выполнять вычисления в бесконечном цикле вместо ввода-вывода. - person Brian Swift   schedule 29.03.2012