Windows上的资源限制?

Python的resource模块在Unix系统上暴露的资源限制机制与POSIX setrlimit什么setrlimit

具体来说,我将一个subprocess的处理器时间限制在几秒钟。 如果在约束内没有完成,则终止。

AFAIK,没有可移植的方法来获取有关Python中子进程使用的处理器时间量的信息。 但是什么subprocess进程模块(假设你使用subprocess.Popen ,建议你启动subprocess.Popen进程)给出的是Popen.pid进程的进程ID。 您可以在Windows上执行的操作是反复使用subprocess.check_output运行tasklist (请参见手册 ),并使用PID作为过滤器从其输出中提取有关子进程的信息。

只要子进程有足够的CPU时间,并且如果使用Popen.kill subprocess.Popen()来启动子进程,则可以使用Popen.kill方法来Popen.kill它。

但是我认为在使用定时器的指定的秒数后,杀死子进程会更容易。 因为如果子进程挂起而不使用CPU时间(无论出于何种原因),那么你的python程序正在等待CPU时间消耗。