Why were cgroups created when the setrlimit and getrlimit system calls already existed?I thought it might be that rlimit only applies to a single process, but the man page states:Limits on the consumption of system resources by the current process and       each process it creates may be obtained with the getrlimit() call, and       set with the setrlimit() call.It seems to me that if we wanted to control the resource usage of a group of processes, we could just set the limits in a parent process (possibly a shell) and those limits would be enforced in all child processes.Clearly I'm missing some crucial difference between the two mechanisms, but I couldn't find the answer I was looking for.
What does cgroups provider over ulimit?
cgroups;ulimit