检查当前 shell 上的打开文件(软)限制
/home/pkaramol
$ ulimit -n
1024
检查硬限制
/home/pkaramol
$ ulimit -n -H
1048576
将(软)限制设置为硬限制值并验证其是否有效:
/home/pkaramol
$ ulimit -n hard
/home/pkaramol
$ ulimit -n
1048576
问题是为什么下面的命令会修改两个都 难的和柔软的限制,如果没有提供开关,则默认是在软限制上进行操作
/home/pkaramol
$ ulimit -n 2048
/home/pkaramol
$ ulimit -n
2048
/home/pkaramol
$ ulimit -n -H
2048
硬限制是在什么时候降低到的2048
?
答案1
如果它ulimit
内置于bash
shell 中,则不指定-H
或-S
不指定环境限制将设置硬资源限制和软资源限制。
这在手册中有记录bash
:
ulimit [-HSabcdefiklmnpqrstuvxPT [limit]]
在允许此类控制的系统上,提供对 shell 及其启动的进程可用的资源的控制。
-H
和选项-S
指定为给定资源设置硬限制或软限制。硬限制一旦设置,非 root 用户就无法增加;软限制可以增加到硬限制的值。 如果 或 均未-H
指定-S
,则同时设置软限制和硬限制。
shellksh93
在其手册中也有类似的措辞,
如果未指定
H
或S
选项,则限制适用于两者。
...并且zsh
和dash
shell 在设置限制方面的行为也相同。