Linux下C函数定义

C语言函数定义。

进程资源函数

Linux提供了几个系统调用来限制一个进程对资源的使用。它们是getrlimit(), setrlimit(), getrusage()。
函数定义如下:

1
2
3
4
5
6
#include <sys/time.h>
#include <sys/resource.h>

int getrlimit(int resource, struct rlimit *rlim);
int setrlimit(int resource, const struct rlimit *rlim);
int getrusage(int who, struct rusage *usage);

其中,getrlimit和setrlimit分别被用来取得和设定进程对资源的限制。他们的参数是相同的,第一个参数resource指定了调用操作的资源类型,可以指定几种资源如下:

宏定义 说明
RLIMIT_CPU CPU时间,已秒为单位
RLIMIT_FSIZE 文件的最大尺寸,以字节为单位
RLIMIT_DATA 数据区的最大尺寸,以字节为单位
RLIMIT_STACK 堆栈区的最大尺寸,以字节为单位
RLIMIT_CORE 最大的核心文件尺寸,以字节为单位
RLIMIT_RSS resident set 的最大尺寸
RLIMIT_NPROC 最大的进程数目
RLIMIT_NOFILE 最多能打开的文件数目
RLIMIT_MEMLOCK 最大的内存地址空间

第二个参数rlimit用于取得/设定具体的限制。struct rlimit定义如下:

1
2
3
4
struct rlimit {
int rlimt_cur;
int rlimit_max;
};
文章目录
  1. 1. 进程资源函数