python - Windows 上的资源限制?

标签 python windows posix ulimit setrlimit

Python 的 resource 在 Unix 系统上公开的资源限制机制在 Windows 中有哪些等价物?模块和 POSIX setrlimit

具体来说,我将子进程的处理器时间限制为几秒钟。如果未在约束内完成,则终止。

最佳答案

据我所知,没有可移植的方法来获取有关 Python 中子进程使用的处理器时间量的信息。但是 subprocess 模块所做的(假设您使用 subprocess.Popen 启动子进程,这是推荐的)给您的是 中子进程的进程 ID Popen.pid。您可以在 Windows 上执行的操作是重复使用 subprocess.check_output 运行 tasklist(参见 manual),并从其输出中提取有关子进程的信息,使用 PID 作为一个过滤器。

一旦子进程有足够的 CPU 时间并且如果您使用 subprocess.Popen() 启动子进程,您可以使用 Popen.kill杀死它的方法。

但我认为在指定的墙时间秒数后使用计时器终止子进程会更容易。因为如果子进程在没有使用 CPU 时间的情况下挂起(无论出于何种原因),那么等待它的 python 程序也会消耗 CPU 时间。

关于python - Windows 上的资源限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10892258/

相关文章:

python - 返回列表中最长单词的 len

python - 如何在 ML pyspark 管道中添加我自己的函数作为自定义阶段?

python - 高斯与 scipy 之和的曲线拟合

c++ - ReadFile lpBuffer 参数

c - `lseek` 如何帮助确定文件是否为空?

POSIX 上的 C++ 故障转储

c - 当 POSIX 说 stderr 应该可以读写时是什么意思?

python - 使用 Python 列表理解从嵌套元组字典结构中检索数据

windows - Mac 友好的热键?

c++ - Windows - 从 C++ 服务访问剪贴板