【发布时间】:2012-06-11 17:18:52
【问题描述】:
测量某些程序/脚本的用户时间而不是测量 cpu 时间并在超出此时间限制时终止它是至关重要的。
最好的方法是什么?
最明显的解决方案之一是检查某个时间步长流程树,以查看请求的程序/脚本是否未超出其限制。它在 perl 脚本 (pshved/timeout) 中实现。我正在寻找其他方法
【问题讨论】:
测量某些程序/脚本的用户时间而不是测量 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 "..."
【讨论】: