Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想为 execv 生成的程序可以使用一定数量的内存和一定数量的 CPU 时间设置限制。例如,我想设置一个限制,比如一个程序不能超过 100MB 30 秒,一个程序不能使用 90% 或更多的 CPU 超过 20 秒。
您可以使用RLIMIT_CPU,RLIMIT_DATA和朋友,但他们都没有任何持续时间或窗口的概念。如果这些对您有用,那就太好了;如果没有,您能否更详细地解释您要解决的问题?
RLIMIT_CPU
RLIMIT_DATA
不,您将需要在代码“周围”运行某种主管,或者作为将分叉/执行的程序,或者作为将拦截 libc/系统调用的注入库。