如何在linux中实现脚本/程序的cpu-time超时?

时间:2012-06-11 17:18:52

标签: linux timeout cpu-time

测量某些程序/脚本的用户时间非常重要,但是cpu时间会在超出此时间限制时终止。

最好的方法是什么?

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

1 个答案:

答案 0 :(得分:1)

您可以使用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 "..."