我做了一个网站,需要执行某种 C++ 程序(程序已经编译)。但我想限制程序所需的资源。我要限制的资源是运行时间和已用内存。我认为运行时间可以通过command to execute & sleep time; kill $!
但是如果进程在睡眠时间之前完成,该命令会导致一些延迟。
我不知道如何限制运行时间(没有延迟)并使用内联命令使用内存。有什么建议吗?
Thx 之前...我非常感谢您的帮助..
我做了一个网站,需要执行某种 C++ 程序(程序已经编译)。但我想限制程序所需的资源。我要限制的资源是运行时间和已用内存。我认为运行时间可以通过command to execute & sleep time; kill $!
但是如果进程在睡眠时间之前完成,该命令会导致一些延迟。
我不知道如何限制运行时间(没有延迟)并使用内联命令使用内存。有什么建议吗?
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。