资源限制一般在task_struct->singal->rlim结构体数组内
struct rlimit {
__kernel_ulong_t rlim_cur; //当前限制值
__kernel_ulong_t rlim_max; //最大限制值
};
一共存在16组资源
#define RLIMIT_CPU 0 进程每秒使用的cpu时间,如果超过了这个值内核会给进程发送一个SIGXCPU信号如果还不终止则再发送一个SIGKILL信号
#define RLIMIT_FSIZE 1 文件大小的最大值,如果进程试图把一个文件的大小扩充到大于这个值则内核会发送SIGXFSZ信号
#define RLIMIT_DATA 2 堆大小的最大值,在扩充进程堆之前检查这个值
#define RLIMIT_STACK 3 栈大小的最大值,内核扩充进程的用户态堆栈之前检查这个值
#define RLIMIT_CORE 4 异常退出进程内存转储文件的大小,当一个进程异常终止时内核在进程的当前目录下创建内存信息转储文件之前检查这个值
#ifndef RLIMIT_RSS
# define RLIMIT_RSS 5 进程所能拥有的页框最大数
#endif
#ifndef RLIMIT_NPROC
# define RLIMIT_NPROC 6 用户所能拥有的进程最大数
#endif
#ifndef RLIMIT_NOFILE
# define RLIMIT_NOFILE 7 打开文件描述符最大数
#ifndef