1

我做了一个网站,需要执行某种 C++ 程序(程序已经编译)。但我想限制程序所需的资源。我要限制的资源是运行时间和已用内存。我认为运行时间可以通过command to execute & sleep time; kill $! 但是如果进程在睡眠时间之前完成,该命令会导致一些延迟。

我不知道如何限制运行时间(没有延迟)并使用内联命令使用内存。有什么建议吗?

Thx 之前...我非常感谢您的帮助..

4

3 回答 3

1

命令ulimit是你的朋友

例如(ulimit -t 1; /your/program 2>/some/logfile) | head -c 100k

会做两件事:

  • 将最大 CPU 限制为一秒
  • 将输出限制为 100k
于 2011-05-16T01:19:55.163 回答
1

查看ulimit命令。我没有使用它,但我认为它会做你想要的。

于 2011-05-16T01:20:02.297 回答
0
(ulimit -d 1000 -m 1000 -v 1000 -t 1; /your/program 2>/some/logfile) | head -c 100000

这将限制内存大小和时间。您可以使用ulimit -a来了解这些限制的含义或阅读 bash 手册页并搜索 ulimit。

于 2011-05-16T04:21:31.903 回答