重要的是不要测量某些程序/脚本的用户时间,而是测量 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 "..."
关于linux - 如何在Linux中实现脚本/程序的CPU时间超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10984661/