第十七篇:获取 / 修改进程资源限制
前言
每个进程都有其使用资源的一个限制,这些资源通常是在进程初始化时由进程 0 所建立的,然后由每个后续进程继承。
本文将介绍如何获取并修改进程的资源限制。
获取资源限制函数:getrlimit()
原型:int getrlimit (int resource, struct rlimit *rlptr)
包含于:sys/resource.h
作用:获取 resource 资源的限制信息,将其保存在 rlptr 所指向的结构体中。( 后面将给出表示 resource 的宏以及此结构体的定义 )
修改资源限制函数:setrlimit()
原型:int setrlimit (int resource, const struct rlimit *rlptr)
包含于:sys/resource.h
作用:将资源 resource 加上 rlptr 所指结构体所描述的限制。
resource 取值
资源限制结构体 rlimit
1 struct rlimit { 2 rlim_t rlim_cur; // 软限制 3 rlim_t rlim_max; // 硬限制 4 };
修改资源限制必须遵循的三条规则
1. 任何一个进程都可以将一个软限制更改为小于或等于其硬限制值。
2. 任何一个进程都可降低其硬限制值,但它必须大于或等于其软限制值。这种降低对于普通用户来说是不可逆的。
3. 只有超级用户可以提高硬限制值。
代码实现
下程序获取进程的最大栈容量并打印出来:
1 #include <stdio.h> 2 #include <sys/resource.h> 3 4 int main (void) { 5 6 // 定义保存进程资源限制的结构体 7 struct rlimit l; 8 9 // 获取进程资源限制信息 10 if (getrlimit (RLIMIT_FSIZE, &l)) { 11 printf("获取资源限制信息出错\n"); 12 return 1; 13 } 14 15 // 打印资源限制信息 16 printf("软限: %ld\n硬限: %ld\n", l.rlim_cur, l.rlim_max); 17 18 return 0; 19 }
运行测试
至于为什么是 -1,这里不去纠结这个问题了。
小结
要注意更改资源限制的那三条规则。
第十七篇:获取 / 修改进程资源限制相关推荐
- 服务器手工修改进程资源,图解Total Commander 7.0之22项更新与改进(推荐)
作者:xbeta 版本:070611/070611 出自:善用佳软http://xbeta.info 本文超过20张图片,如果网速慢而无法阅读,可在此下载全文. 更新1:更新用户界面:平坦图标(支持X ...
- 第十七篇:修改默认窗口动画缩放、过渡动画缩放的值
(1)在开发者选项中可以去选择"窗口动画缩放"."过渡动画缩放"比例,有客户需求关闭这个动画过程. (2)可以直接在SettingsProvider下去修改默认 ...
- linux cpu 使用10个进程,linux下获取占用CPU资源最多的10个进程
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...
- linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...
- 子进程中获取父进程id_进程全家桶,看这一篇就够了 | 原力计划
作者 | 看,未来 责编 | 王晓曼 出品 | CSDN博客 初见进程,先查一下户口 1.进程环境 进程控制块PCB:就是进程在操作系统中的"户口",具体实现是 task_stru ...
- 线程间到底共享了哪些进程资源?
进程和线程这两个话题是程序员绕不开的,操作系统提供的这两个抽象概念实在是太重要了. 关于进程和线程有一个极其经典的问题,那就是进程和线程的区别是什么?相信很多同学对答案似懂非懂. 记住了不一定真懂 关 ...
- 使用 C# 开发 Kubernetes 组件,获取集群资源信息
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...
- 线程间到底共享了哪些进程资源
进程和线程这两个话题是程序员绕不开的,操作系统提供的这两个抽象概念实在是太重要了. 关于进程和线程有一个极其经典的问题,那就是进程和线程的区别是什么?相信很多同学对答案似懂非懂. 记住了不一定真懂 有 ...
- 使用 shell 脚本对 Linux 系统和进程资源进行监控
Shell 简介 Shell 语言对于接触 LINUX 的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.实际上 Shell 是 ...
最新文章
- WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解决方法
- 数据结构和算法分析:第一章 引论
- [YTU]_2432 (C++习题 对象数组输入与输出)
- 经典正则表达式[收藏]
- graph 关系图 设置
- Fastjson批量检查及一键利用工具
- 【评论】GNU/Linux下有多少是GNU的?
- 【CodeForces - 546C 】Soldier and Cards (模拟)
- android item三种,Android RecyclerView中的ItemDecoration的几种绘制方法
- 前端笔记-freemarker模板获取后端数据及提交数据
- 帝国cms怎么搭建python环境_用python 发 帝国cms 文章
- VBscript读取excel表,中数据导入到SQLserver数据库里面
- windows 消息
- linux 登录直接进入系统,Linux登录和推出系统入门教程
- 传奇登陆游戏黑屏错位以及登陆器配置和常见问题
- CNN | 01实现颜色分类
- UOJ#449 喂鸽子
- Java导出Word(导出图片,类,List)
- Power BI介绍
- ks值和auc值的关系
热门文章
- java excel api xlsx_Java 解析Excel(xls、xlsx两种格式)
- 学习笔记Hadoop(十)—— Hadoop基础操作(2)—— HDFS常用Shell操作
- python 相交链表
- android studio引用module出的错:Unable to resolve dependency for‘:app@debug/........
- datepicker 颜色 android,Android修改DatePicker字體顏色及分割線顏色
- try catch异常后会执行后面的代码吗_JVM异常处理最强讲解
- Python 爬虫原理实现自动google翻译
- 计算机文献检索综合性实验报告,文献检索综合性实验报告模板.doc
- unity开宝箱动画_unity简单动画实现
- opengl中gpu与cpu交互_OpenGL 环境配置与教程推荐