我做了一个需要执行某种C++程序(程序已编译)的网站。但我想限制该程序所需的资源。我想限制的资源是运行时间和已用内存。 我认为运行时间可以用command to execute & sleep time; kill $!
完成但是如果进程在休眠时间之前完成,那么该命令会导致一些延迟。Linux bash inline命令执行程序并限制资源
我不知道如何限制运行时间(没有延迟)和使用内存与内联命令。 有什么建议吗?
THX之前... 我真的很感谢你的帮助..
我做了一个需要执行某种C++程序(程序已编译)的网站。但我想限制该程序所需的资源。我想限制的资源是运行时间和已用内存。 我认为运行时间可以用command to execute & sleep time; kill $!
完成但是如果进程在休眠时间之前完成,那么该命令会导致一些延迟。Linux bash inline命令执行程序并限制资源
我不知道如何限制运行时间(没有延迟)和使用内存与内联命令。 有什么建议吗?
THX之前... 我真的很感谢你的帮助..
命令ulimit
是你的朋友
例如(ulimit -t 1; /your/program 2>/some/logfile) | head -c 100k
会做两件事情:
查看ulimit
命令。我没有用过它,但我认为它会做你想做的。
(ulimit -d 1000 -m 1000 -v 1000 -t 1; /your/program 2>/some/logfile) | head -c 100000
这会限制内存大小以及时间。您可以使用ulimit -a
来了解这些限制意味着什么,或者阅读bash手册页并搜索ulimit。
我知道了... 感谢您的回复... :) – 2011-05-16 07:34:44
这是工作.. 感谢您的回答.. 但是,为什么我的日志文件为空? 我试图给出的时间限制比我的程序运行时间短,但是,当它停止时,为什么我的日志文件empy? – 2011-05-16 07:37:49
Thx为你的解释... 如果你不介意,我想再问一次。 ulimit是工作。我喜欢这样,但头不工作... '头:非法字节数 - 100k' – 2011-05-16 02:29:46
对不起... 我的坏... 我没有意识到,100K意味着100000 ... thx。 – 2011-05-16 02:39:23
这并不限制所用的内存 – 2011-05-16 04:11:02