如何在 Linux 中实现脚本/程序的 CPU 时间超时



关键是测量的不是某些程序/脚本的用户时间,而是CPU时间,并在违反此时间限制时杀死它。

最好的方法是什么?

最明显的解决方案之一是检查一些时间步长进程树,以查看请求的程序/脚本是否没有违反其限制。它是在perl脚本(pshved/timeout)中实现的。我正在寻找其他的烦恼

您可以使用

ulimit(1)setrlimit(2)来限制 CPU 时间。如果进程使用更多的 CPU 时间,它将自动终止。也可以指定可以忽略的软限制。

简单的例子:

#! /bin/bash
(
    ulimit -t 5
    python -c '
a, b = 0, 1
while True:
    a += b
    b += a
'
    echo $?
)
echo "..."

相关内容

  • 没有找到相关文章

最新更新