Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5513700
  • 博文数量: 922
  • 博客积分: 19333
  • 博客等级: 上将
  • 技术积分: 11226
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-27 14:33
文章分类

全部博文(922)

文章存档

2023年(1)

2020年(2)

2019年(1)

2017年(1)

2016年(3)

2015年(10)

2014年(17)

2013年(49)

2012年(291)

2011年(266)

2010年(95)

2009年(54)

2008年(132)

分类: LINUX

2012-01-13 22:05:10

++++++APUE读书笔记-07进程环境(6)++++++
 
11、资源的限制
================================================
 每个进程都有各种资源的限制,使用下列函数可以获得当前进程的各种资源的限制:
 #include
 int getrlimit(int resource, struct rlimit *rlptr);
 int setrlimit(int resource, const struct rlimit *rlptr);
 这两个函数属于XSI扩展以及Single Unix标准。进程资源的限制是在系统初始化的时候被进程0来建立起来的。每种实现的资源种类可能会有所不同。
 资源的结构有两个成员:软资源限制;硬资源限制。修改资源的限制遵循如下的规则:
 a)进程可以在小于等于硬资源限制的前提下修改软资源限制。
 b)进程可以减少它的硬资源限制,硬资源限制不能小于软资源限制,普通用户减少硬资源限制之后不能够反向修改了(也就是增加了).
 c)只有超级用户可以提高硬资源的限制。
 资源限制影响当前的进程以及它的子进程。这也就是说设置资源的应该编译到shell中去以便影响我们的所有进程。例如命令:ulimit或者c shell的limit命令。更多的信息,参见下面网址中给出的参考资料。
参考:

12、总结
================================================
 在知道UNIX系统中进程控制相关的特性之前,需要对UNIX系统环境中,一个C程序的运行环境有所了解。本章我们看到如何启动和终止进程,以及如何传递参数列表和环境变量。尽管两者在内核中并不知道这些,但是调用者调用exec,执行新的程序,却是通过内核传递这些的。
 我们也看到了一个C程序的典型内存布局,以及一个进程如何能够动态分配和释放内存。因为涉及到了内存的分配问题,所以很有必要来详细对这些操作环境变量的函数。我们也看到了setjmp和longjmp函数,它们提供了一个在进程中实现非本地化程序分支(跳转)的方法。我们最后通过介绍各种系统实现提供的资源限制,来结束本章。
参考:
 
 
阅读(606) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~