功能描述:
获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,同时能不可逆转地降低其硬限制。授权进程可以任意改变其软硬限制。RLIM_INFINITY的值表示不对资源限制。

用法:
include <sys/time.h>
#include <sys/resource.h>

int getrlimit(int resource, struct rlimit *rlim);
int setrlimit(int resource, const struct rlimit *rlim);

参数:
resource:可能的选择有

RLIMIT_AS //进程的最大虚内存空间,字节为单位。
RLIMIT_CORE //内核转存文件的最大长度。
RLIMIT_CPU //最大允许的CPU使用时间,秒为单位。当进程达到软限制,内核将给其发送SIGXCPU信号,这一信号的默认行为是终止进程的执行。然而,可以捕捉信号,处理句柄可将控制返回给主程序。如果进程继续耗费CPU时间,核心会以每秒一次的频率给其发送SIGXCPU信号,直到达到硬限制,那时将给进程发送 SIGKILL信号终止其执行。
RLIMIT_DATA //进程数据段的最大值。
RLIMIT_FSIZE //进程可建立的文件的最大长度。如果进程试图超出这一限制时,核心会给其发送SIGXFSZ信号,默认情况下将终止进程的执行。
RLIMIT_LOCKS //进程可建立的锁和租赁的最大值。
RLIMIT_MEMLOCK //进程可锁定在内存中的最大数据量,字节为单位。
RLIMIT_MSGQUEUE //进程可为POSIX消息队列分配的最大字节数。
RLIMIT_NICE //进程可通过setpriority() 或 nice()调用设置的最大完美值。
RLIMIT_NOFILE //指定比进程可打开的最大文件描述词大一的值,超出此值,将会产生EMFILE错误。
RLIMIT_NPROC //用户可拥有的最大进程数。
RLIMIT_RTPRIO //进程可通过sched_setscheduler 和 sched_setparam设置的最大实时优先级。
RLIMIT_SIGPENDING //用户可拥有的最大挂起信号数。
RLIMIT_STACK //最大的进程堆栈,以字节为单位。

rlim:描述资源软硬限制的结构体,原型如下

struct rlimit {
    rlim_t rlim_cur; /* Soft limit */
    rlim_t rlim_max; /* Hard limit (ceiling for rlim_cur) */
};

返回说明:
成功执行时,返回0。失败返回-1,errno被设为以下的某个值
EFAULT:rlim指针指向的空间不可访问
EINVAL:参数无效
EPERM:增加资源限制值时,权能不允许

Linux系统调用--getrlimit/setrlimit函数详解相关推荐

  1. linux中recvfrom读取速度,Linux系统调用-- recv/recvfrom 函数详解

    Linux系统调用-- recv/recvfrom函数详解 功能描述: 从套接字上接收一个消息.对于recvfrom,可同时应用于面向连接的和无连接的套接字.recv一般只用在面向连接的套接字,几乎等 ...

  2. linux内核 recvfrom,Linux系统调用-- recv/recvfrom 函数详解

    Linux系统调用-- recv/recvfrom函数详解 功能描述: 从套接字上接收一个消息.对于recvfrom,可同时应用于面向连接的和无连接的套接字.recv一般只用在面向连接的套接字,几乎等 ...

  3. Linux系统调用--getpid/getppid函数详解

    [getpid/getppid系统调用]       功能描述: getpid返回当前进程标识,getppid返回父进程标识. 用法:  #include <sys/types.h> #i ...

  4. Linux系统调用-- mount/umount函数详解

    [ mount/umount系统调用]         功能描述: mount挂上文件系统,umount执行相反的操作.    用法:   #include <sys/mount.h> i ...

  5. linux send与recv函数详解

    linux send与recv函数详解 1 #include <sys/socket.h> 2 ssize_t recv(int sockfd, void *buff, size_t nb ...

  6. linux rcu 用法,synchronize_rcu()函数详解

    二.代码详解 定义在:linux/kernel/rcupdate.c 606/** 607 * synchronize_rcu - wait until a grace period has elap ...

  7. Linux系统调用--getrlimit()与setrlimit()函数详解【转】

    转自:http://www.cnblogs.com/niocai/archive/2012/04/01/2428128.html 功能描述: 获取或设定资源使用限制.每种资源都有相关的软硬限制,软限制 ...

  8. Linux系统调用--getrlimit()与setrlimit()函数详解

    功能描述: 获取或设定资源使用限制.每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值.非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,同时能不可逆转 ...

  9. 【Linux系列】signal函数详解

    Date: 2023.1.18 文章目录 1.介绍 2.如何安装多个处理函数 3.信号列表 转载自:http://imhuchao.com/2300.html signal作用是为信号注册一个处理器. ...

最新文章

  1. 【阿里Q3财报:阿里云去年营收破百亿,亚洲市场遥遥领先】
  2. 孙正义60亿贱卖波士顿动力,狂降至3折,现代汽车接盘
  3. 到底什么是云计算-转自http://blog.csdn.net/adwu73
  4. 软考网络管理员存储容量计算相关问题
  5. [UiAutomator] UiSelector中使用instance与index方法定位控件的区别
  6. js对特殊字符转义、时间格式化、获取URL参数
  7. 银河麒麟Linux系统安装谷歌浏览器
  8. 好用的在线客服系统PHP源码(开源代码+终身使用+安装教程)
  9. mac虚拟机parallels装Ubuntu无法联网
  10. mongoengine fields详解
  11. 微信文章爬虫demo -- 综合实验和练习
  12. java微信小程序授权微信登录获取手机号
  13. MAC IDEA启动后卡住不动
  14. mmsegmentation教程2:如何修改loss函数、指定训练策略、修改评价指标、指定iterators进行val指标输出
  15. python多元线性回归实例_利用Python进行数据分析之多元线性回归案例
  16. 【FFMPEG使用经验一】FFMPEG解码MP4帧数不对问题探索
  17. wps 如何查找多年前的文档
  18. php上传文件存本地
  19. 【Wiki】VoxCeleb数据库audio部分注解
  20. 所有行业都适合推行6s管理吗?

热门文章

  1. 二级考试c语言100题,国家计算机二级考试 C语言上机100题
  2. 兰顿蚂蚁 java源代码_兰顿蚂蚁 (Java代码)41行代码
  3. centos7升级gcc,并安装redis
  4. Pandas选择行列的十大技能
  5. wps怎么投递简历发到boss直聘_BOSS直聘角逐招聘季:装机量、下载增量、增长率三料冠军...
  6. Linux shell 对话框,如何在 Bash Shell 脚本中显示对话框
  7. easyx写登入界面_小白入门——easyx界面版“贪吃蛇”的C语言实现(详细)
  8. TodoMVC中的Backbone+MarionetteJS+RequireJS例子源码分析之三 Views
  9. 软工实践-第二次会议
  10. [LeetCode] Z字型变换