rlimit is process-based. rlimit establishes a restricting boundary on the consumption of a variety of system resources by a process. Each process that the process creates inherits from the original process. A resource limit is defined by a pair of values. The values specify the current (soft) limit and the maximum (hard) limit.
A process might irreversibly lower its hard limit to any value that is greater than or equal to the soft limit. Only a process with root ID can raise the hard limit. See setrlimit() and getrlimit().
The rlimit structure contains two members that define the soft limit and hard limit.
rlim_t rlim_cur; /* current (soft) limit */ rlim_t rlim_max /* hard limit */