2

重要的是不要测量某些程序/脚本的用户时间,而是测量 cpu 时间并在超出此时间限制时将其终止。

最好的方法是什么?

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

4

1 回答 1

2

您可以使用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 "..."
于 2012-06-11T18:01:56.743 回答