gpt4 book ai didi

带时间限制的 Scons 命令

转载 作者:行者123 更新时间:2023-12-01 04:34:34 25 4
gpt4 key购买 nike

我想限制我在 Linux 下运行的程序的执行时间。我在我的 scons 脚本中加入了一行:

Command("com​","",​"ulimit -t 1; myprogram")

并用一个无限循环程序测试它:它不起作用,程序一直运行。

我错过了什么吗?

-- tsf

最佳答案

ulimit -t 1 表示限制设置为 1 秒的 CPU 时间。如果您的无限循环程序在其内部循环中使用任何类型的 sleep,那么它几乎不会占用 CPU 时间。这意味着它不会在实际时钟时间的 1 秒内被杀死。事实上,用完其 1 秒分配可能需要几分钟或几小时。

如果在 SCons 之外运行命令会发生什么?也许您根本没有更改限制的权限...

ulimit -t 1; ./myprogram

例如,如果限制已设置为 0,它可能会说以下内容:

bash: ulimit: cpu time: cannot modify limit: Operation not permitted

编辑:似乎the -t option is broken on Ubuntu 9.04 .修复已于 2009 年 6 月 5 日提交,但可能需要一段时间才能逐步更新 - 它可能要到 9.10 才能修复。

作为历史记录,这个问题在 Ubuntu 10.04 中不再存在。

关于带时间限制的 Scons 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/972317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com