【问题标题】:How to implement cpu-time timeout for script/program in linux?如何在 linux 中实现脚本/程序的 cpu 时间超时?
【发布时间】:2012-06-11 17:18:52
【问题描述】:

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

最好的方法是什么?

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

【问题讨论】:

    标签: linux timeout cpu-time


    【解决方案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 "..."
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多