高级进程管理与文件目录管理
1. 高级进程管理
在系统中,有两种情况可以改变默认的资源限制:
- 任何进程都可以将软限制提高到 0 到硬限制之间的任意值,或者降低硬限制。子进程在 fork 时会继承这些更新后的限制。
- 具有特权的进程可以将硬限制设置为任意值。子进程在 fork 时也会继承这些更新后的限制。
通常情况下,普通进程谱系中的根进程不太可能改变硬限制,所以第一种情况是更常见的限制更改来源。实际上,进程所呈现的实际限制通常由用户的 shell 设置,系统管理员可以通过 ulimit 命令来设置各种限制。例如,在 Bourne - again shell(bash)中,管理员可以使用该命令。管理员不仅可以降低限制值,还可以将软限制提高到硬限制,为用户提供更合理的默认值,很多系统会将 RLIMIT_STACK 设置为 RLIM_INFINITY 。
1.1 设置和获取限制
获取资源限制的操作很简单,以下是获取核心文件大小限制的示例代码:
struct rlimit rlim;
int ret;
/* get the limit on core sizes */
ret = getrlimit (RLIMIT_CORE, &rlim);
if (ret == -1) {
perror ("getrlimit");
return 1;
}
printf ("RLIMIT_CORE limits
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



